構成とは何ですか?それがReactアプリの重要な概念である理由
プログラミングでは、コンポジションを使用すると、小さくて焦点を絞った機能を組み合わせて、より複雑な機能を構築できます。
たとえば、使用することを考えてくださいmap()
初期セットから新しい配列を作成し、を使用して結果をフィルタリングしますfilter()
:
const list = ['Apple', 'Orange', 'Egg']
list.map(item => item[0]).filter(item => item === 'A') //'A'
Reactでは、コンポジションによってかなりクールな利点が得られます。
小さくて無駄のないコンポーネントを作成し、それらを使用して作曲それらの上に多くの機能。どうやって?
コンポーネントの特殊なバージョンを作成する
外部コンポーネントを使用して、より一般的なコンポーネントを拡張および特殊化します。
const Button = props => {
return <button>{props.text}</button>
}
const SubmitButton = () => {
return <Button text=“Submit” />
}
const LoginButton = () => {
return <Button text=“Login” />
}
小道具としてメソッドを渡す
たとえば、コンポーネントはクリックイベントの追跡に焦点を当てることができ、クリックイベントが発生したときに実際に何が起こるかは、コンテナコンポーネント次第です。
const Button = props => {
return <button onClick={props.onClickHandler}>{props.text}</button>
}
const LoginButton = props => {
return <Button text=“Login” onClickHandler={props.onClickHandler} />
}
const Container = () => {
const onClickHandler = () => {
alert(‘clicked’)
}
return <LoginButton onClickHandler={onClickHandler} />
}
子供を使う
ザ・props.children
プロパティを使用すると、他のコンポーネント内にコンポーネントを挿入できます。
コンポーネントは出力する必要がありますprops.children
そのJSXで:
const Sidebar = props => {
return <aside>{props.children}</aside>
}
そして、より多くのコンポーネントを透過的な方法で埋め込みます。
<Sidebar>
<Link title="First link" />
<Link title="Second link" />
</Sidebar>
高次コンポーネント
コンポーネントがコンポーネントを小道具として受け取り、コンポーネントを返す場合、それは高階コンポーネントと呼ばれます。
私の記事で高次コンポーネントの詳細を学ぶことができます高次コンポーネントに反応する。
私の無料ダウンロードReactハンドブック
その他の反応チュートリアル:
- Reactの簡単なアプリの例:APIを介してGitHubユーザー情報を取得する
- Reactでシンプルなカウンターを構築する
- React開発用のVSCodeセットアップ
- Reactルーターを介して小道具を子コンポーネントに渡す方法
- ElectronとReactでアプリを作成する
- チュートリアル:Reactを使用してスプレッドシートを作成する
- Reactを学ぶためのロードマップ
- Reduxの使い方を学ぶ
- JSXの使用を開始する
- スタイル付きコンポーネント
- ReduxSagaの紹介
- Reactルーターの紹介
- Reactの紹介
- コンポーネントを反応させる
- 仮想DOM
- Reactイベント
- 反応状態
- 小道具に反応する
- Reactフラグメント
- React Context API
- PropTypesに反応する
- Reactの概念:宣言型
- React:クリック時に別のコンポーネントを表示する方法
- ReactJSX内でループする方法
- 小道具とReactの状態
- jQueryまたはReactを使用する必要がありますか?
- Reactを使用するために知っておく必要のあるJavaScriptの量はどれくらいですか?
- ギャツビー入門
- ReactでDOM要素を参照する方法
- Reactにおける一方向のデータフロー
- 高次コンポーネントに反応する
- Reactライフサイクルイベント
- Reactのコンセプト:不変性
- Reactのコンセプト:純度
- Reactフックの紹介
- create-react-appの紹介
- Reactのコンセプト:構成
- React:プレゼンテーションコンポーネントとコンテナコンポーネント
- Reactでのコード分割
- Reactを使用したサーバー側のレンダリング
- Reactのインストール方法
- ReactのCSS
- ReactでのSASSの使用
- Reactでのフォームの処理
- React StrictMode
- Reactポータル
- Reactレンダリングプロップ
- Reactコンポーネントのテスト
- Reactのイベントハンドラーにパラメーターを渡す方法
- Reactでエラーを処理する方法
- JSXで複数の要素を返す方法
- Reactでの条件付きレンダリング
- React、小道具を子コンポーネントに転送する方法
- Reactで入力要素の値を取得する方法
- useStateReactフックの使用方法
- useCallbackReactフックの使用方法
- useEffectReactフックの使用方法
- useMemoReactフックの使用方法
- useRefReactフックの使用方法
- useContextReactフックの使用方法
- useReducerReactフックの使用方法
- Reactアプリを同じオリジンのバックエンドに接続する方法
- リーチルーターチュートリアル
- React開発ツールの使用方法
- Reactを学ぶ方法
- Reactアプリケーションをデバッグする方法
- ReactでHTMLをレンダリングする方法
- `dangerouslySetInnerHTML`を修正する方法がReactのエラーと一致しませんでした
- Reactログインフォームの状態とブラウザの自動入力に関する問題を修正する方法
- ローカルホスト上のReactアプリでHTTPSを構成する方法
- Reactの「別のコンポーネントのレンダリング中にコンポーネントを更新できない」エラーを修正する方法
- 条件内でReactフックを使用できますか?
- オブジェクトでのuseStateの使用:更新方法
- ReactとTailwindを使用してコードのブロックを移動する方法
- React、DOMに追加されたときにReactでアイテムにフォーカスします
- 反応、ダブルクリックでテキストを編集