Javascript 如何为嵌套在react js列表中的词典设置状态
下面是我的代码。。 我想将数据的状态(存在于数据集中)设置为用户定义的值Javascript 如何为嵌套在react js列表中的词典设置状态,javascript,reactjs,react-native,react-router,setstate,Javascript,Reactjs,React Native,React Router,Setstate,下面是我的代码。。 我想将数据的状态(存在于数据集中)设置为用户定义的值 constructor(props) { super(props); this.state={ value:'', set:[], count:0, data: { labels: ["Jan", "Feb", "Mar", "Apr"],
constructor(props)
{
super(props);
this.state={
value:'',
set:[],
count:0,
data: {
labels: ["Jan", "Feb", "Mar", "Apr"],
datasets:[ {
data: [10,20,30,40]
}]
},
}
}
我尝试了下面的代码,但没有成功
this.setState(prevState => {
return{
datas: {...prevState.datas,datasetss: {...prevState.datas.datasetss[0], data [...prevState.datas.datasetss[0].data,prevState.value]}
}
}
})
我不太确定我是否理解了您的需求,但这里有一个更新嵌套属性的代码段,我希望它对您有用
import { useState, useEffect } from "react";
export default function App() {
const [data, setData] = useState({
value: "",
set: [],
count: 0,
data: {
labels: ["Jan", "Feb", "Mar", "Apr"],
datasets: [
{
data: [10, 20, 30, 40]
}
]
}
});
useEffect(() => {
setTimeout(() => {
setData((currentData) => {
const newData = { ...currentData };
newData.data.datasets[0].data = [1, 2, 3, 4];
return newData;
});
}, 3000);
}, []);
return (
<div className="App">
<pre>{JSON.stringify(data, null, 1)}</pre>
</div>
);
}
从“react”导入{useState,useffect};
导出默认函数App(){
const[data,setData]=useState({
值:“”,
集合:[],
计数:0,
数据:{
标签:[“一月”、“二月”、“三月”、“四月”],
数据集:[
{
数据:[10,20,30,40]
}
]
}
});
useffect(()=>{
设置超时(()=>{
设置数据((当前数据)=>{
const newData={…currentData};
newData.data.datasets[0].data=[1,2,3,4];
返回新数据;
});
}, 3000);
}, []);
返回(
{JSON.stringify(数据,null,1)}
);
}
您可以执行以下操作
打字是故意的吗?数据集vs数据集工具!,不客气!
// Getting the initial/ prev values for data
const newState = {...this.state.data.datasets[0]};
// Add the new value to data. Here I am adding 50 and 60
newState.data.push(50, 60);
// Set the state using useState
this.setState({newState});