我只是React的初学者,我一直在寻找一种更简单的方法来设置状态。一个重要的注意事项是它在功能组件内部。
const [ personState, setPersonsState ] = useState({
persons: [
{ name : 'Max', age : 28 },
{ name : 'Manu', age : 29 },
{ name : 'Stephanie', age : 26 }
]
});
我知道通常情况是这样的,并且这样很好。
setPersonsState({
persons: [
{ name : 'Max', age : 28 },
{ name : 'Ati', age : 29 },
{ name : 'Stephanie', age : 26 }
]
但是我认为每次都很难手动输入,所以我试图使我的生活更轻松。
const newState = personState;
newState.persons[1].name = 'Ati';
setPersonsState(newState)
这没有用,我也不知道为什么。当我将它们注销时,console.log成功地更改了,但是由于某种原因,状态没有刷新,尽管我使用了set命令。我还注意到React的一些奇怪行为,当我使用此newState.persons[1].name = 'Ati';
命令时,它也更改了personState
变量。因此personState
和newState
变量在控制台中都看起来像这样。
{persons: Array(3)}
persons: Array(3)
0: {name: "Max", age: 28}
1: {name: "Ati", age: 29}
2: {name: "Stephanie", age: 26}
length: 3
__proto__: Array(0)
__proto__: Object
我很感谢任何帮助或解释,为什么这不起作用。