【发布时间】:2017-12-28 10:48:37
【问题描述】:
我有一个这样的组件树:
-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>
)
}
}
用户列表.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>
)
}
【问题讨论】:
标签: javascript reactjs react-router react-router-v4 react-router-dom