[解決済み] ReactJS:setTimeout()が機能しない?
2022-03-10 21:58:43
質問
このようなコードを考えています。
var Component = React.createClass({
getInitialState: function () {
return {position: 0};
},
componentDidMount: function () {
setTimeout(this.setState({position: 1}), 3000);
},
render: function () {
return (
<div className="component">
{this.state.position}
</div>
);
}
});
ReactDOM.render(
<Component />,
document.getElementById('main')
);
状態が変わるのは3秒後ではないのですか?すぐに変わってしまうのですが。
ここでの私の主な目的は、3秒ごとに状態を変更することです(
setInterval()
) が、うまくいかなかったので、試しに
setTimeout()
も動作しません。何かいい方法はないでしょうか?ありがとうございます。
解決方法は?
する
setTimeout(
function() {
this.setState({ position: 1 });
}
.bind(this),
3000
);
そうでない場合は
setState
から
setTimeout
.
また、ES6 の矢印関数を使用することで
this
というキーワードがあります。
setTimeout(
() => this.setState({ position: 1 }),
3000
);
関連
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】Uncaught SyntaxError: JSON の位置 0 に予期しないトークン u があります。
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] 私のJavaScriptコードは "No 'Access-Control-Allow-Origin' header is present on requested resource "というエラーを受け取りますが、Postmanはそうならないのはなぜですか?
-
[解決済み] URLを新しいタブで開く(新しいウィンドウではない)
-
[解決済み] setTimeout(fn, 0)が役に立つことがあるのはなぜですか?
-
[解決済み] setTimeout()コールバックにパラメータを渡すにはどうすればよいですか?
-
[解決済み] setTimeoutかsetIntervalか?
-
[解決済み] ReactJSでコンポーネントがtext型の非制御入力を制御エラーに変更する場合
-
[解決済み】ReactJS - "setState "が呼ばれるたびにrenderが呼び出されるのですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】document.getElementByIDは関数ではありません。
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】Uncaught TypeError: nullのプロパティ'value'を読み取ることができない
-
[解決済み】JavaScriptのisset()に相当するもの
-
[解決済み] テスト
-
[解決済み】DOMException: サポートされているソースが見つからなかったため、読み込みに失敗しました。
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み】module.exports "モジュールが定義されていません"
-
[解決済み] [Solved] Uncaught Invariant Violation: 前のレンダリング中よりも多くのフックをレンダリングする