質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Router

Routerは、異なるネットワーク同士を相互に接続するための通信機器。インターネットでのデータを自動的に振り分け、一つのインターネット回線を複数のコンピュータで使用することが可能です。DHCPによりIPアドレスを自動的に割振りすることもできます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

2960閲覧

React のreact-router-domでの画面遷移時に値が受け渡されない

mu-ro

総合スコア20

Router

Routerは、異なるネットワーク同士を相互に接続するための通信機器。インターネットでのデータを自動的に振り分け、一つのインターネット回線を複数のコンピュータで使用することが可能です。DHCPによりIPアドレスを自動的に割振りすることもできます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/12/30 23:51

前提・実現したいこと

Reactでreact-router-domを用いて,ShopCard.jsからDetails.jsに値を受け渡ししたいです.
以下リンクを参考にコードを書きましたが,Details.jsのpropsに値が受け渡されません.
どなたか,詳しい方いいらっしゃいましたら教えていただけると幸いです.

発生している問題・エラーメッセージ

デベロッパーツールでprops確認すると以下が帰ってきます.

Object [[Prototype]]: Object constructor: ƒ Object() hasOwnProperty: ƒ hasOwnProperty() isPrototypeOf: ƒ isPrototypeOf() propertyIsEnumerable: ƒ propertyIsEnumerable() toLocaleString: ƒ toLocaleString() toString: ƒ toString() valueOf: ƒ valueOf() __defineGetter__: ƒ __defineGetter__() __defineSetter__: ƒ __defineSetter__() __lookupGetter__: ƒ __lookupGetter__() __lookupSetter__: ƒ __lookupSetter__() __proto__: (...) get __proto__: ƒ __proto__() set __proto__: ƒ __proto__()

該当のソースコード

ShopCard.js

1import React, { useState, useEffect, Component } from 'react' 2import { Link } from "react-router-dom"; 3import { withRouter } from "react-router-dom" 4 5 6export const ShopCard = (props) => { 7 8 const [state, setState] = useState("") 9 10 const handleChange = (e) => { 11 setState(() => "test") 12 } 13 14 const handleClick = () => { 15 props.history.push({ 16 pathname: "/details", 17 state: { text: setState("setState") } 18 }); 19 } 20 21 return ( 22 <> 23 <input type='text' value="test-val" onChange={handleChange}></input> 24 <button onClick={handleClick}>????画面遷移????</button> 25 </div> 26 </> 27 ) 28} 29export default withRouter(ShopCard)

Details.js

1import React, { useState, useEffect } from 'react' 2import Header from '../modules/Header' 3import Footer from '../modules/Footer' 4import { Link } from "react-router-dom"; 5 6 7const Details = (props) => { 8 console.log(props) 9 10 return ( 11 <> 12 <Header /> 13 14 <div> 15 <p>画面遷移先のページ</p> 16 <p> { props }</p> 17 </div> 18 19 <Footer /> 20 </> 21 ) 22} 23 24export default Details

補足情報(FW/ツールのバージョンなど)

react-router-domのv5使用してます.
ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

https://na-ginnan.com/router/

ここのstateの受け渡しを見たらできました!

投稿2021/12/31 02:02

mu-ro

総合スコア20

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問