我的组件中有一个状态,我想在单击“保存”按钮时克隆该状态,并更改和删除克隆的某些属性,然后发布到后端,但是当我更改克隆数组时,原始状态也会改变;我不知道该怎么办,我追踪了克隆数组的所有方法,但所有这些方法都没有帮助我;下面是我的代码:
.
.
.
const [steps , setSteps] = useState([
{
id: 1,
// content: "item 1 content",
subItems: [
{
id: 10,
isNew : false ,
hasWorkflow : true ,
title : 'SubItem 10 content' ,
approverType : 1,
approverId : 0 ,
},
{
id: 11,
isNew : false ,
hasWorkflow : true ,
title : 'SubItem 11 content' ,
approverType : 2,
approverId : 1 ,
}
]
},
{
id: 2,
// content: "item 2 content", …Run Code Online (Sandbox Code Playgroud) 我正在 React js 中使用功能组件,我的 onClick 函数会触发组件渲染,而无需单击我的 li 元素;\n这是我的父组件,它将 handleCallDetails 函数作为道具传递给子组件:
\nexport default function Cartable(){\n\n const [items , setItems] = useState(null);\n const [details , setDetails] = useState(null);\n\n\n\n function handleCallDetails(id){\n if(items !== null && details === null){\n let d = items.find(x => {\n return x.id === id;\n });\n\n }\n }\n\n useEffect(() => {\n axios.get(`/workflows/${mode}` ,{\n params : {\n OrganizationId : "FE905B40-DA6E-4A81-8A4F-B447AA6B0EA3" , \n Type : 2 ,\n sortorder : "desc" ,\n pageIndedx : 1 , \n pageSize : 10\n }\n }).then(response …Run Code Online (Sandbox Code Playgroud)