表題の件、reactはv16.2 v16.14.0を使っています。
1つのページで複数のコンポーネントをレンダーしています。
コードのイメージとしては以下です。
FormComponentでサーバーにデータを送信した後、その結果をMessageComponentを使って出力したいと考えています。
サーバーへデータを送信する処理はFormComponentのhandleSubmitで行い、MessageComponentに表示するメッセージを取得する予定です。
両方のコンポーネントが親子関係であればpropsの受け渡し等で可能と思いますが、renderが分かれているので方法がよくわかりません。
reactのclassコンポーネントではなく、関数コンポーネントで解決可能な方法わかりますと助かります。
よろしくお願いいたしますm(_ _)m
javascript
1import React from "react"; 2import { render } from "react-dom"; 3 4const MessageComponent = () => { 5 return <div>FormComponentで取得した結果文字列があればここに表示。なければ非表示</div>; 6}; 7 8const FormComponent = () => { 9 const handleSubmit = e => { 10 // ここでサーバーにデータを送り、結果文字列を取得 11 }; 12 return ( 13 <form onSubmit={handleSubmit}> 14 <input name="name"/> 15 <button>送信</button> 16 </form> 17 ); 18}; 19render(<MessageComponent />, document.getElementById("message")); 20render(<FormComponent />, document.getElementById("form"));
回答1件
あなたの回答
tips
プレビュー