小编N.S*_*.SH的帖子

如何在reactjs中更改数组的克隆而不更改原始数组

我的组件中有一个状态,我想在单击“保存”按钮时克隆该状态,并更改和删除克隆的某些属性,然后发布到后端,但是当我更改克隆数组时,原始状态也会改变;我不知道该怎么办,我追踪了克隆数组的所有方法,但所有这些方法都没有帮助我;下面是我的代码:

.
.
.
    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)

javascript jsx ecmascript-6 reactjs

4
推荐指数
1
解决办法
590
查看次数

Reactjs在功能组件中无需点击即可触发onClick函数

我正在 React js 中使用功能组件,我的 onClick 函数会触发组件渲染,而无需单击我的 li 元素;\n这是我的父组件,它将 handleCallDetails 函数作为道具传递给子组件:

\n
export 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)

javascript reactjs

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×2

reactjs ×2

ecmascript-6 ×1

jsx ×1