0

为什么我不能将我的数据存储到我的 useState 中?顺便说一句,我的数据是一个对象。

常量任务 = useSelector(taskSelector);

const [expanded, setExpanded] = useState();
  const [assignTask, setAssignTask] = useState();

  useEffect(() => {
    let currentUser = JSON.parse(localStorage.getItem('userData'));
    const data = tasks.filter(
      (assign) => assign.assigned === currentUser.fullname
    );
    setAssignTask(data);
    console.log(assignTask);

  }, []);

输出 console.log(data) 在此处输入图像描述

console.log(assignTask) => []

4

1 回答 1

2

来自 React 文档:

setState 函数用于更新状态。它接受一个新的状态值并将组件的重新渲染排入队列。

在后续重新渲染期间,useState 返回的第一个值将始终是应用更新后的最新状态。

我认为这dataassignTask在下一次渲染时设置。因此,如果您useEffect直接从内部登录,它还不会显示该值。

尝试assignTaskuseEffect. 每次组件呈现时它都会一遍又一遍地记录,并且在其中一个或多个上它应该记录您的data值。

于 2021-04-11T18:36:45.187 回答