[英]pushing object to array in reactjs?
我在将 object 推送到数组时遇到问题..我想要这样的结果.. [{b:"a"},{b:"c"}]
使用此代码
const [list, setList] - useState({occupation_id: ""});
const handleAdd = () => {
let arr = [];
const newData = {...list};
newData[e.target.id] = e.target.value;
arr.push(newData);
setList(arr);
}
但是下面代码的结果是
[{{occupation_id: "2"}, occupation_id: "1"}]
我的代码有什么问题?
您可以使用此解决方案轻松解决它,试试这个:
const [list, setList] = useState([]); // your initial data
const handleAdd = () => {
setList([...list, {e.target.id:e.target.value}]);
}
尝试这个:
const [list, setList] = useState([]);
const handleAdd = () => {
setList([...list, {[e.target.id]:e.target.value}]);
}
const [list, setList] = useState([{occupation_id: "1"}, {occupation_id: "2"}]);
const handleAdd = (id, value) => {
const newData = [...list]
newData.push({id, value});
setList(newData);
console.log(newData)
}
像数组一样定义 state:这可行
const [list, setList] = useState([{occupation_id: "2"}]);
const handleAdd = (e) => setList([...list, { e.target.name: e.target.value }])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.