反应子组件正在更改父组件

时间:2020-07-25 22:22:33

标签: reactjs state

所以我在父组件中有一个子组件,我想将状态的副本传递给子组件并对其执行一些操作,但是当我将子组件的状态更改为父组件的状态时,我得到的是什么改变以及,我不希望我希望他们分开。致电孩子代书:<UpdateTasksModal Tasks={this.state.Tasks.filter(x => x.selected == true)} /> 子组合:

const [Tasks, setTasks] = useState(props.Tasks)
    
    useEffect(() => {
        setTasks( props.Tasks )
    }, [props.Tasks])


    function handleTaskChange(e, index){
        let newTasks = Tasks
        newTasks[index][e.target.name] = e.target.value
        setTasks([...newTasks])
    }

1 个答案:

答案 0 :(得分:1)

如果使用spread运算符克隆道具,则它是影子克隆。如果您真的想进行深度克隆,请尝试使用

JSON.parse(JSON.stringify(props.Task))