繁体   English   中英

为什么我在 React 中的钩子变量没有保持我设置的状态?

[英]Why is my hook variable in React not holding the state I set it to?

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

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

但是,每当我更改 props.employees 的值时,我的 TeamsArr 变量最初为空,然后将该值更改为当前的 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 更改时都会添加它,但不会删除旧值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM