有一个代码:
class MyName extends React.Component {
constructor(props) {
super(props);
this.state = {
number: 0,
name: 'Вася' + this.number
}
}
rebder() {
...
}
无法从 number 属性为本地状态的 name 属性分配数字。上面的代码不起作用。怎么做?我知道障碍很可能是语法或上下文,但我找不到解决方案。
这里的主要问题是:它是否
name仅取决于number,还是稍后会单独更改。如果它只
name依赖于number,那么最好不要让它成为一个状态。制作方法:
getName(){ return 'Вася' + this.state.number }在这种情况下,计算并不昂贵,并且增加了一致性。
对于繁重的计算,您可以使用
useMemo或其类似物。如果
name稍后它将单独更改,则在构造函数中:构造函数在很大程度上决定了组件将具有哪些状态名称,以及它们的标准值。如果需要对状态进行操作,可以在挂载组件的时候进行,例如: