React は Facebook の社内プロジェクトとして始まりました。 React の出現は革命的なイノベーションです。React は破壊的なフロントエンド フレームワークです。 React は公式には、ユーザー インターフェイスを作成するための宣言型で効率的かつ柔軟な JavaScript ライブラリとして紹介されています。React の主な機能は UI の構築ですが、プロジェクトが徐々に成長し、React はフロントエンドとバックエンドの両方をカバーする Web アプリ ソリューションになりました。 Angular はウォッチャー オブジェクトを使用し、Vue はオブザーバー モードを使用し、React は状態を使用します。それぞれに特徴があります。良いも悪いもなく、ニーズの違いによって選択が異なるだけです。 Reactの公式サイト: https://reactjs.org/GitHub アドレスは https://github.com/facebook/react です。 1. Reactでは、onClick、onChangeなどのReactによって制御されるイベント処理関数、setStateは非同期です。 React をインポートします。{ コンポーネント } から 'react' をインポートします。 デフォルトクラス Input をエクスポートし、Component を拡張します { コンストラクタ(props) { スーパー(小道具); this.state={ 名前: 'こんにちは' } } _onChange(e) { this.setState({ 名前:'世界' }) console.log(this.state.name); //こんにちは } 与える () { 戻る ( <div クラス名 = 'cp'> <input className='cp-input' value={this.state.name} onChange={this._onChange.bind(this)} type="text"/> </div> ); } } 2. addEventListenerなどのネイティブJSリスニングイベントでは、setStateは同期的です。 React をインポートします。{ コンポーネント } から 'react' をインポートします。 デフォルトクラス Input をエクスポートし、Component を拡張します { コンストラクタ(props) { スーパー(小道具); this.state={ 名前: 'こんにちは' } } _onChange(e) { // 何かをする } コンポーネントマウント() { 入力を document.querySelector('.cp-input') にします。 input.addEventListener('クリック', ()=>{ this.setState({ 名前:'世界' }) console.log(this.state.name); //ワールド }) } 与える () { 戻る ( <div クラス名 = 'cp'> <input className='cp-input' value={this.state.name} onChange={this._onChange.bind(this)} type="text"/> </div> ); } } 3. setTimeoutではsetStatetは同期的である React をインポートします。{ コンポーネント } から 'react' をインポートします。 デフォルトクラス Input をエクスポートし、Component を拡張します { コンストラクタ(props) { スーパー(小道具); this.state={ 名前: 'こんにちは' } } _onChange(e) { // 何かをする } コンポーネントマウント() { タイムアウトを設定します(()=>{ this.setState({ 名前:'世界' }) console.log(this.state.name); //ワールド }, 1000) } 与える () { 戻る ( <div クラス名 = 'cp'> <input className='cp-input' value={this.state.name} onChange={this._onChange.bind(this)} type="text"/> </div> ); } } 上記はReactのsetStateの同期と非同期のコードを詳細に解析した内容です。ReactのsetStateの同期と非同期の詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: CentOS7におけるKVM仮想化の基本管理の詳しい説明
目次序文&& 演算子|| 演算子|| 演算子の簡単なデモ章の目的ケース演習(json...
Navicatをインストールした後次のエラーが発生する場合があります: Client does no...
01. コンパイルオプションとカーネルコンパイルLinux カーネル (英語: linux kern...
1.Tomcatの最適化構成(1)Tomcatのcatalina.batを変更するJavaをサーバー...
CSS の背景: background:#00ffee; //背景色を設定するbackground-...
目次序文Websocketの使用Websocketオブジェクトの構築Websocket ステータスW...
目次分割代入を使用したオブジェクトパラメータコールバック関数の命名条件文を説明的にするスイッチ文をM...
まずコードを書いて (int i=0;i<1000;i++){ (int j=0;j<5...
<Head>タグに追加する<meta http-equiv="pragm...
目次序文原因を発見するカスタムフィルタリングルール要約する序文インターネットの急速な発展に伴い、情報...
序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...
スロットとは何ですか?スロット ディレクティブは v-slot であり、現在 slot と slot...
ファイルをディレクトリに解凍しますこれは解凍後のディレクトリですmy.iniファイルを入力しますダブ...
データクリーニング (ETL)コアビジネスの MapReduce プログラムを実行する前に、まずデー...
目次ステップ1: CentOS 8でパッケージを更新するステップ2: CentOS 8にNginx ...