0
我有這樣一段代碼陣營克隆兒童及附加道具不工作
render() {
const { schools, currentSchool, claims } = this.state;
let loggedIn = this.state.loggedIn ? true : false;
let user = this.state.user;
var children = React.Children.map(this.props.children, function (child) {
return React.cloneElement(child, {
**claims: this.state.claims**
})
})
return (
<div>
<HeaderContainer
user={user}
claims={claims}
onLogin={this.onLoginButtonClick} />
{ loggedIn && <NavContainer claims={claims}/> }
{children}
<Footer/>
</div>
)
}
}
但是我沒有訪問this.state.claims
由於某種原因,「本」是不確定的。爲什麼是這樣的,我該如何解決這個問題?
基本javascript es6,這與reactjs無關。使用胖箭頭功能來保持'this'上下文。所以在你的'React.Children.map'中,你需要使用'(child)=> {}'而不是'function(child){}'。更多這裏:http://exploringjs.com/es6/ch_arrow-functions.html –