javascript - 为什么 React 中的钩子(Hook)变量没有保持我设置的状态?

标签 javascript arrays reactjs redux react-hooks

我正在使用 React 和 Redux。当我的 props.employees 第一次更改时,useEffect 运行并将 teamArr 更新为 props.employees 的值。

但我的愿望是将 props.employees 数组添加到 teamArr 数组中,该数组应该已经填充了之前的 props.employees 数组值。

但是,每当我更改 props.employees 的值时,我的 teamArr 变量最初为空,然后将该值更改为当前的 props.employees 值。

我一直在努力弄清楚如何解决这个问题,因此非常欢迎任何帮助。

const Employees = (props) => {
    const [teamsArr, setTeamsArr] = useState([])


    useEffect(() => {
        const updatedTeamsArr = [...teamsArr, props.employees]
        setTeamsArr(updatedTeamsArr)
        }
    ,[props.employees])

最佳答案

您可以利用将函数传递给 setTeamsArr

useEffect(() => {
    setTeamsArr(prev => [...prev, ...props.employees])
    }
,[props.employees])

但在这种情况下,每次 prop.employees 更改时都会添加它,但旧值不会被删除。

关于javascript - 为什么 React 中的钩子(Hook)变量没有保持我设置的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69944310/

相关文章:

javascript - 如何将我的事件处理与 HTML 代码分开

javascript - 包含来自 webpack 捆绑的 npm 包的 Assets

arrays - 为什么我不能在 Swift 中创建返回 "Array"而不是 NSArray 的函数?

javascript - 在多选中选择后搜索无法正常运行

javascript - 如果日期值相同,如何从 td 中删除日期值?

javascript - 无法从 React Native 中的不同文件夹导入图像

python - 从 C 调用 Python 函数并使用 C 中的 2D Numpy 数组

javascript - React 中的组织结构图插件?

javascript - 单击该行中的 React 组件链接时,如何防止单击该行?

javascript - .htc 和 .js 文件有什么区别?