-
setTimeout
接受两个参数:回调和时间间隔。打电话
setTimeout(1000)
-
this.setState
不应该被叫进来
constructor
--构造函数中的状态应该由
this.state =
就像你上面说的那样
-
此.setState
不正确——第一个参数是正确的(state对象),但是第二个参数应该是回调函数(参见我的示例)
class SearchFunction extends React.Component {
constructor(props) {
super(props);
this.state = {
data: [],
value: '',
};
console.log("Initial state:")
console.log(this.state)
this.arrayNew = [
{ name: 'Robert' },
{ name: 'Bryan' },
{ name: 'Vicente' },
{ name: 'Tristan' },
{ name: 'Marie' },
];
setTimeout(() => {
this.setState({data: this.arrayNew}, () => {
console.log("Newly set state:")
console.log(this.state)
});
}, 1000);
}
render() {
return <View/>;
}
}
零食示例:
https://snack.expo.io/4kVsJHJ0d
-
本州=
可以看到状态为空
-
一个回调函数,间隔1秒
-
以箭头函数作为回调函数。您可以看到,在它运行之后,它调用自己的回调函数,该函数将打印更新的状态。