ReactJSを初めて使用していて、「this.setStateは関数ではありません」というエラーが表示されています。ReactJS:this.setStateは関数ではありませんか?
constructor() {
super();
this.state = {
visible: false,
navLinesShow: true
};
this.navOpen = this.navOpen.bind(this)
}
navOpen() {
this.setState({
navStatus: "navShow",
navLinesShow: false
});
if (this.state.visible === false) {
setTimeout(function(){
this.setState({
visible: true
});
}, 3000);
}
私はthis.navOpen = this.navOpen.bind(this)をコンストラクタに追加しました。だから私は問題はsetTimeout関数であると思います。
修正方法はありますか?
ありがとうございます。
Hello Pinturic。はい、これは完全に機能します。たぶんあなたは私にこれを説明してより良い理解を得ることができましたか? – xoomer
また、arrow関数を使用することもできます: 'setTimeout(_ => {this.setState(...)}、3000)'これが期待どおりに動作するようにします – pawel
解決策を明確にしないと更新しました。 。あなたのブラウザ/蒸散器がそれをサポートしていれば@pawelは正しいです。太い矢印の構文 – pinturic