⊗jsrtPmHkCUp 10 of 47 menu

Reactにおけるコンテキストの更新

このレッスンでは、コンテキストの値が変更された際のコンポーネントの更新について検討します。コンテキストを変更したい状況を想定してみましょう。

このような場合、コンテキストをステートと組み合わせて使用すると便利です。前回のレッスンで作成した箱のアプリケーションを少し変更し、ボタンをクリックすると渡される値が'metal box :)'になるようにしてみましょう。

それでは、Appファイルを取り出し、BigBoxの後にボタンを描画します:

function App() { return ( <MyContext.Provider value="small box :)"> <BigBox /> <button>click</button> </MyContext.Provider> ); }

次に、useStateフックをインポートし、ボタンクリックで変更されるnameステートを作成します。その初期値は、コンテキストの値として直前に渡していた値、つまり'small box :)'とします:

function App() { const [name, setName] = useState('small box :)'); }

今回は、コンテキストとして文字列ではなく、nameステートを渡します:

<MyContext.Provider value={name}> <BigBox /> <button>click</button> </MyContext.Provider>

最後のステップとして、ボタンクリックのハンドラーを呼び出し、setName関数を使用してステートの新しい値を'metal box :)'に設定します。その後、ボタンをクリックして結果を確認できます:

<button onClick={() => { setName('metal box :)'); }}>click</button>

前回のレッスンの課題で作成したアプリケーションを使用してください。ageステートを作成し、数値の代わりにこのステートをAppからコンテキストを介して渡します。初期値を50に設定します。App内のParentコンポーネントの下にボタンを追加し、そのボタンがクリックされるたびにageステートの値が2減少するようにしてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否