如何使用useState设置数组的状态?

时间:2020-04-15 18:36:40

标签: reactjs

我正在尝试使用数据库中的useState将数组添加到状态,但无法正常工作

    const [state, setstate] = useState([]);

    useEffect(() => {
        axios.get("/api/reviews").then((response) => {
            console.log(response.data.data);
            setstate(response.data.data);
            console.log(state);
        });
    }, []);

console.log(response.data.data)正确返回数组,因此数据在那里。但无论出于何种原因,都不会进入推荐状态。我尝试首先将所有适当的字段设置为初始状态。我尝试在setTestimonials内部使用回调函数,但没有任何效果。

任何建议将不胜感激!

1 个答案:

答案 0 :(得分:1)

那是因为您使用setTestimonials函数设置了状态,但是在您提供的代码顶部,我们可以看到该函数的名称是setstate而不是setTestimonials

    const [state, setstate] = useState([]);

    useEffect(() => {
        axios.get("/api/reviews").then((response) => {
            console.log(response.data.data);
            setTestimonials(response.data.data); // This should be setstate(response.data.data)
            console.log(state);
        });
    }, []);