首页 > 解决方案 > 做出反应。子组件正在改变父组件

问题描述

所以我在父组件中有一个子组件,我想将状态的克隆传递给子组件并对其执行一些操作,但我得到的是当我更改子组件时,父组件的状态也会发生变化,我不想让他们分开。致电儿童补偿: <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])
    }

标签: reactjsstate

解决方案


如果您使用扩展运算符克隆道具,则它是影子克隆。如果你真的想要一个深度克隆,尝试使用

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


推荐阅读