Reactjs 重置反应组件状态
我有一个存储对象数组状态的组件,如:Reactjs 重置反应组件状态,reactjs,state,Reactjs,State,我有一个存储对象数组状态的组件,如: [ { id: 'all', title: 'Select all', icon: '', selected: false }, { id: 'overview', title: 'Overview', icon: 'user-check', selected: false }, { id: 'about', title: 'About', icon: 'info-circle', selected: false
[
{ id: 'all', title: 'Select all', icon: '', selected: false },
{ id: 'overview', title: 'Overview', icon: 'user-check', selected: false },
{
id: 'about',
title: 'About',
icon: 'info-circle',
selected: false,
partSelected: false,
children: [
{ id: 'profile', title: 'Profile', selected: false },
{ id: 'howToOnboard', title: 'How To Onboard', selected: false }
]
},
{ id: 'interviewGuide', title: 'Interview Guide', icon: 'comments', selected: false }
]
我的组件将这个数组作为一个道具,并使用setState钩子设置它,即
const SelectionMenu = ({ menuData, translations }) => {
const [menuState, setMenuState] = useState(menuData);
const updatedMenu = menuData.map(a => ({...a}));
然后我操作这个数组的一个副本(updatedMenu)并在以后设置它,即
setMenuState(updatedMenu);
如何将状态重置回初始菜单数据?它似乎总是保持着…如果你只是想“重置”你的菜单状态,你的道具还在这里:
const SelectionMenu = ({ menuData, translations }) => {
因此,您可以调用此选项来“重置”放回初始数据的日期:
setMenuState(menuData)
你是说menuData已经改变了?或者您只是在搜索
setMenuState(menuData)
。。。不太清楚您从哪里获得初始状态信息?