javascript React中的API数据提取|mern堆栈[副本]

k4emjkb1  于 2022-12-21  发布在  Java
关注(0)|答案(1)|浏览(133)
    • 此问题在此处已有答案**:

Why is my variable unaltered after I modify it inside of a function? - Asynchronous code reference(7个答案)
The useState set method is not reflecting a change immediately(16个答案)
16小时前关门了。
为什么我通过我的API得到结果,但在我的控制台中记录了一个空数组[](不应该是空的)?
节点js代码:

app.get("/todos", async (req, res) => {
    const todos = await todo.find()
    res.json(todos)
})

React代码:

const [todos, setTodos] = useState([])

  useEffect(() => {
    GetTodos()  

    console.log(todos); 
  }, [])

  const GetTodos = () => {
        fetch(API_BASE + "/todos")
            .then(res => res.json())
            .then(data => setTodos(data))
            .catch((err) => console.error("Error: ", err));
    }

我所有的端点似乎都能在postman上工作,我只是不明白为什么react没有给出相同的结果

jyztefdp

jyztefdp1#

问题是我在useEffect钩子中登录到控制台,而不是在GetTodos()函数中,所以它只返回初始的useState值,但不知道为什么

相关问题