0
将道具重新传递给儿童时(特别是在Route
的内部时),我很困惑。例如:当我使用路线时,为什么我的道具未定义?
class App extends Component {
constructor(props) {
this.sayHi = this.sayHi.bind(this);
}
sayHi() {
console.log('hi')
}
render() {
return (
<Router>
<Route path="/projects" component={(props, state, params) =>
<ProjectList
sayHi={this.sayHi}
{...props} />}
/>
</Router>
)
}
}
const ProjectList = (props) => {
return (
<Route path={`${props.match.url}/:id`} component={(props, state, params) =>
<ProjectDetail
sayHi={props.sayHi}
{...props} />}
/>
)
}
const ProjectDetail = (props) => {
console.log(props)
}
内ProjectList
成分,我没有问题,访问sayHi
方法(我可以将它连接到这个组件内的onClick
事件),但在ProjectDetail
组件,我得到一个未定义的props.sayHi
。
我怎么不正确地传递这个道具?