小编fil*_*der的帖子

React useState 与对象的最佳实践?

与 from 类不同state,您不限于单个对象。使用useState,您可以为每种情况创建单独的值,如下所示:

const [name, setName] = useState('John');
const [email, setEmail] = useState('john@example.com');
const [age, setAge] = useState(25);
Run Code Online (Sandbox Code Playgroud)

但是,我发现这非常肮脏,并且更喜欢只使用一个useState用对象初始化的:

const [user, setUser] = useState(
  { name: 'John', email: 'john@example.com', age: 25 }
);
Run Code Online (Sandbox Code Playgroud)

我知道没有严格的限制并且useState可以存储对象,但是在类组件中,当您使用更新状态时this.setState,它会与旧的合并。使用 时useState,更新函数会用新状态替换旧状态(没有合并)。

我经常像下面这样实现:

setUser(prevStat => ({
...prevState,
  name: 'Daniel'
}));
Run Code Online (Sandbox Code Playgroud)

如果我是正确的,更新对象状态将重新渲染对象状态的所有字段,这对于应用程序来说可能会更昂贵?

  • 我的这种方法正确吗?

reactjs react-hooks use-state

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

标签 统计

react-hooks ×1

reactjs ×1

use-state ×1