いつも大変お世話になっております。
現在reactの勉強中で、子コンポーネントから親コンポーネントへ値を渡そうとしているのですが、
warning
が出てしまいます。
調べたところ子コンポーネントでuseEffect()
を使用すると大丈夫とあったのですが改善されないようです。
もともとVue使いでしたが、Vueでは子コンポーネントから親コンポーネントへ値を渡すことは
普通にあったのですが、Reactの場合はあまり行わないことなのでしょうか?
以下ソースコードを記述しますので
どなたか改善すべき箇所がわかる方がいらっしゃればご教授いただけますと幸いです。
それではどうぞ宜しくお願い致します。
javascript
1 2# App.js 3 4import {BrowserRouter, Routes, Route} from "react-router-dom"; 5import Home from "./components/Home"; 6import Parent from "./components/Parent"; 7 8const App = () => { 9 return ( 10 <> 11 12 <BrowserRouter> 13 <Routes> 14 15 <Route path="/" element={<Home/>}/> 16 <Route path="/parent" element={<Parent/>}/> 17 18 </Routes> 19 </BrowserRouter> 20 21 </> 22 ) 23} 24 25export default App;
javascript
1 2# Parent.js 3 4import {Link} from "react-router-dom"; 5import Child from "./Child"; 6import {useState} from "react"; 7 8const Parent = () => { 9 10 const [value, setValue] = useState(""); 11 12 return ( 13 <> 14 15 <h3>Parent</h3> 16 <Link to="/">Homeへ</Link> 17 18 <hr/> 19 20 <Child setValue={setValue}/> 21 22 <p>子コンポーネントから渡ってきた値 → {value}</p> 23 24 </> 25 ) 26} 27 28export default Parent; 29
javascript
1 2# Child.js 3 4const Child = (props) => { 5 6 const comment = "ok react." 7 8 return ( 9 <> 10 11 {props.setValue(comment)} 12 13 </> 14 ) 15} 16 17export default Child; 18
エラー内容
Warning: Cannot update a component (`Parent`) while rendering a different component (`Child`). To locate the bad setState() call inside `Child`,
回答1件
あなたの回答
tips
プレビュー