[英]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.