所以我将它们放入一个数组并给它们shuffle函数。问题是每次我在文本中键入内容时,状态都会更新,从而呈现组件。因此,对于我输入的每个字母,textFields随机播放。
答案 0 :(得分:0)
这是因为当状态发生变化时,会调用渲染函数并且你的 Aa1Array 会因渲染内部而被洗牌。您可以将 Aa1Array 移出渲染函数并将其放入组件构造函数中,如下所示
class MyComponent extends Component {
constructor(props) {
super(props);
this.state = {};
this.Aa1Array = shuffle([
<TextField/>,
<TextField/>,
], {copy: true});
}
render() {
let textFields = this.Aa1Array.map(Aa1 => Aa1);
return (<div>{textFields}</div>);
}
}
在使用摆脱 undefined 之前,请记得在构造函数中初始化 this.state = {}; 。
希望得到这个帮助。