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仮想化の基本管理の詳しい説明
導入MySQL は、私たちが日常業務で使用する非常に一般的なデータベースです。MySQL は現在 O...
一般的な開発ニーズとして、要素の一部を必要になるまで折りたたんでおきたいことが挙げられます。 Boo...
目次Linux での Hbase のインストールと設定1. Hbaseインストールパッケージをダウン...
リンクのターゲット属性は、リンクが開く場所を決定します。その値は通常、_blank、_self、_p...
ディスプレイ定義IDテーブルに定義された自動増分IDが上限に達した場合、次のIDを申請する際に得られ...
1. 現在のホスト名を表示する [root@fangjian ~]# ホスト名ctl 静的ホスト名:...
Win10 で csv をエクスポートする方法は 2 つあります。1 つ目はツールを使用することです...
目次基本的な紹介入門テスト (Excel ファイルからのデータの読み取り)ステップ1: Maven座...
HTML img タグ: Web ページに導入される画像を定義します。興味深い usemap 属性も...
目次序文以前のバージョンイテレータパターンイテレータファクトリ関数イテレータプロトコル最後に序文多く...
この記事では、ローカル マシンに Java 8 をインストールせずに、Java 8 を使用して簡単な...
LinuxでのMySQL5.7 rpmのインストール方法を参考までに記録します。具体的な内容は以下の...
データ ボリューム コンテナーは、データ ボリュームをマウントするために特別に使用されるコンテナーで...
ここでは、主に小さなプログラムの開発プロセスでよく使われる、非常に実用的な機能ポイントをいくつか整理...
表では、左上の境界線の色を個別に定義したり、セルの右下の境界線の色を定義したりできます。これら 2 ...