簡體   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