reactjs - 将数据插入空数组 - React useState() Hook

标签 reactjs react-hooks

我想在我的测验应用程序中为错误答案声明一个空状态,如下所示:

const [wrongAnswers, setWrongAnswers] = useState();

但是如果我尝试用数据填充它(我想让它成为一个对象数组),它总是返回未定义。我尝试这样:

    const getWrongAnswers = () => {
    const result = birds.filter((bird) => bird.status === "wrong");

    setWrongAnswers([...wrongAnswers, result]);
  };

如果我将我的状态声明为空数组,它总是会给我一个空数组,与空对象数组相同。

我不知道我在这里缺少什么。

最佳答案

在声明时用空数组初始化它。

const [wrongAnswers, setWrongAnswers] = useState([]);

并且过滤器返回数组,因此使用扩展运算符而不仅仅是结果

setWrongAnswers([...wrongAnswers, ...result]);

关于reactjs - 将数据插入空数组 - React useState() Hook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72047318/

相关文章:

reactjs - 在 Iframe 中使用 Material UI 组件

reactjs - 测试自定义 Hook 并收到“警告 : An update to TestHook inside a test was not wrapped in act

javascript - 为什么 data.map 不是函数?

javascript - 如何在 React 中关闭模态时添加过渡以及如何在模态外单击时关闭?

javascript - 在reactjs中渲染大状态数据

javascript - JavaScript 函数和 React 钩子(Hook)有什么区别?

reactjs - 如何为react-stripe-elements创建useStripe钩子(Hook)

javascript - 如何声明一个变量,使其值在每次 DOM 渲染时都不会改变?

reactjs - React useEffect 在其依赖数组中有一个 spread 元素

css - 重写 material-ui 样式