React Router 4のネストされたルートに小道具を渡す方法は?

ジュリアン・ベタンコート

私はこのようなコンポーネントツリーを持っています:

-App
--UserList
---UserItem
---UserItem
---UserItem
--User

からUserItemユーザーデータを渡すことができませんUserこれは私が持っているものです:

App.js

export default class App extends Component {
  state = { users: [] }

  componentDidMount() {// fetch and setState}

  render() {
    return (
      <BrowserRouter>
        <Route
          exact
          path="/"
          render={() => <UserList users={this.state.users} />}
        />
      </BrowserRouter>
    )
  }

}

UserList.js

export default function({ users }) {
  return (
    <div>
      {users.map(user => (
        <UserItem user={user} key={`${user.id}`} />
      ))}
    </div>
  )

}

ここで問題が発生Userします。APIからユーザーデータを再度フェッチするのではなく、親コンポーネントから子コンポーネントにデータを渡したいのです

UserItem.js

export default function({ user }) {
  return (
    <div>
      <Link to="/user">{user.name}</Link>

      <Route path={`/user/${user.name}`} render={() => <User user={user} />} />
    </div>
  )
}
シシル

ここで何を実装しようとしているのかわかりません。アプリは、UserListいつルートがであるかをレンダリングし/ます。UserListレンダリングUserItem各々に対するコンポーネントuserの配列です。それぞれがUserItem単にすべてのユーザーに固有のルートをレンダリングし、Userそのルートがトリガーされた場合コンポーネントをレンダリングします。

しかし、私が間違っていUserListなければ、ルートが以外の場合はレンダリングされない/ため、誰かがアクセスしたuser/...場合、内部ルートは実際には存在しません。

基本的に、このアプリは何もレンダリングしません。

exactのルートからキーワードを削除すると、App探している結果が得られると思います。この場合、開く/user/<USER_NAME>Userそのユーザーの要素がレンダリングされます。

あなたの質問は、ルートを介して小道具をコンポーネントに渡すことに関するものであり、使用したメカニズムは正しいです。

<Route path={...} render={() => <User user={user} />} />

これは実際には正しいです。以下にリンクされているコードを参照してください。ルートを/user/User1変更すると、アプリに「User1」の名前が表示されます。

ここで動作するコードを参照してください:https//codesandbox.io/s/18w3393767

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

React Routerの子ルートに小道具を渡す

分類Dev

小道具をReact-Router4.0.0の子ルートに渡す

分類Dev

React Router Domのネストされたルーティング、またはスラッグを渡す方法

分類Dev

react-routerを使用する場合、ステートフルコンポーネントからステートレスコンポーネントに小道具を渡す別の方法はありますか?

分類Dev

小道具をreact-routerルートに渡すにはどうすればよいですか?

分類Dev

React-router-domがコンポーネントに小道具を渡す反応

分類Dev

React Router-Route :: renderを使用してレンダリングされたコンポーネントに小道具を介して一致を渡します

分類Dev

Reactで小道具として渡されたコンポーネントに小道具を渡す方法は?

分類Dev

Link(react-router)を使用して1つのページからクラスコンポーネントに小道具を渡す方法

分類Dev

REACT ROUTER4のネストされたルートを使用すると空白になります

分類Dev

react-routerは<Links>と<Route>を使用して小道具を他のコンポーネントにどのように渡しますか?

分類Dev

React-Routerを使用してルート間で小道具を渡す

分類Dev

react-router-小道具をハンドラーコンポーネントに渡します

分類Dev

react-routerを介して小道具をコンポーネントに渡すことができません

分類Dev

React Router-コンポーネントパラメータを使用して、レンダリングされたコンポーネントに小道具を渡しますか?

分類Dev

react-router 4でネストされたコンポーネントをナビゲートする方法

分類Dev

React-Routerを使用して<Link>を介して新しいページに追加の小道具を渡す方法は?

分類Dev

react-router-dom v4の複数のネストされたルート

分類Dev

React Router v4のネストされたルートprops.children

分類Dev

react-routerのネストされたルート

分類Dev

react-router-relayのネストされたルート

分類Dev

react-routerでコンポーネントの小道具を正しく入力するにはどうすればよいですか?

分類Dev

React.js:ネストされた小道具をReact.createElementに渡す

分類Dev

react-routerで使用されるレイアウトに小道具を渡すにはどうすればよいですか?

分類Dev

React-routerv4。「正確な」小道具はネストされたルートを禁止しますか?

分類Dev

React Router v4で子供に小道具を送る方法は?

分類Dev

BrowserRouterコンポーネントで小道具が更新された場合、react-routerルートコンポーネントコンストラクターは呼び出されません。

分類Dev

セマンティックUIの拡張を介してreact-router-domからLinkコンポーネントに小道具を渡すにはどうすればよいですか?

分類Dev

react-native-router-fluxは小道具をシーンに渡します

Related 関連記事

  1. 1

    React Routerの子ルートに小道具を渡す

  2. 2

    小道具をReact-Router4.0.0の子ルートに渡す

  3. 3

    React Router Domのネストされたルーティング、またはスラッグを渡す方法

  4. 4

    react-routerを使用する場合、ステートフルコンポーネントからステートレスコンポーネントに小道具を渡す別の方法はありますか?

  5. 5

    小道具をreact-routerルートに渡すにはどうすればよいですか?

  6. 6

    React-router-domがコンポーネントに小道具を渡す反応

  7. 7

    React Router-Route :: renderを使用してレンダリングされたコンポーネントに小道具を介して一致を渡します

  8. 8

    Reactで小道具として渡されたコンポーネントに小道具を渡す方法は?

  9. 9

    Link(react-router)を使用して1つのページからクラスコンポーネントに小道具を渡す方法

  10. 10

    REACT ROUTER4のネストされたルートを使用すると空白になります

  11. 11

    react-routerは<Links>と<Route>を使用して小道具を他のコンポーネントにどのように渡しますか?

  12. 12

    React-Routerを使用してルート間で小道具を渡す

  13. 13

    react-router-小道具をハンドラーコンポーネントに渡します

  14. 14

    react-routerを介して小道具をコンポーネントに渡すことができません

  15. 15

    React Router-コンポーネントパラメータを使用して、レンダリングされたコンポーネントに小道具を渡しますか?

  16. 16

    react-router 4でネストされたコンポーネントをナビゲートする方法

  17. 17

    React-Routerを使用して<Link>を介して新しいページに追加の小道具を渡す方法は?

  18. 18

    react-router-dom v4の複数のネストされたルート

  19. 19

    React Router v4のネストされたルートprops.children

  20. 20

    react-routerのネストされたルート

  21. 21

    react-router-relayのネストされたルート

  22. 22

    react-routerでコンポーネントの小道具を正しく入力するにはどうすればよいですか?

  23. 23

    React.js:ネストされた小道具をReact.createElementに渡す

  24. 24

    react-routerで使用されるレイアウトに小道具を渡すにはどうすればよいですか?

  25. 25

    React-routerv4。「正確な」小道具はネストされたルートを禁止しますか?

  26. 26

    React Router v4で子供に小道具を送る方法は?

  27. 27

    BrowserRouterコンポーネントで小道具が更新された場合、react-routerルートコンポーネントコンストラクターは呼び出されません。

  28. 28

    セマンティックUIの拡張を介してreact-router-domからLinkコンポーネントに小道具を渡すにはどうすればよいですか?

  29. 29

    react-native-router-fluxは小道具をシーンに渡します

ホットタグ

アーカイブ