首页 > 解决方案 > 父组件对象在没有设置状态的情况下发生变化

问题描述

至于反应是关注,我们可以使用 setState 改变状态,即这里 setdummyData,在下面的代码父组件中,初始化 dummyData 对象头:2017 并将对象传递给子组件并将对象更改为 dummyData.header = 2018 ,但父组件对象正在改变。

我可以知道背后的原因。

请参考下面的片段

import React, { useState } from "react";
import Child from "./Child";

const Parent = () => {
  const [dummyData, setdummyData] = useState({ header: 2017 });
  console.log("-dummyData-", dummyData);
  return <Child dummyData={dummyData} />;
};

export default Parent;

const Child = (props) => {
  let dummyData = props.dummyData;
  dummyData.header = 2018;
  return <div> {dummyData.header} </div>;
};

export default Child;

标签: reactjsreact-hooks

解决方案


您必须始终使用 setState 来更改状态,而不是直接更改道具或状态。


推荐阅读