所以我在父组件中有一个子组件,我想将状态的副本传递给子组件并对其执行一些操作,但是当我将子组件的状态更改为父组件的状态时,我得到的是什么改变以及,我不希望我希望他们分开。致电孩子代书:<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])
}
答案 0 :(得分:1)
如果使用spread运算符克隆道具,则它是影子克隆。如果您真的想进行深度克隆,请尝试使用
JSON.parse(JSON.stringify(props.Task))