私はPluralsightから初心者チュートリアル以下、フォームに提出した値がaddUser
コンポーネントメソッドに渡されていると私はthis.state.users
するためのユーザー名をプッシュする必要があるが、私はときにエラーReact this.stateは未定義ですか?
App.jsx:14 Uncaught TypeError: Cannot read property 'users' of undefined
コンポーネント
import React from 'react'
import User from 'user'
import Form from 'form'
class Component extends React.Component {
constructor() {
super()
this.state = {
users: null
}
}
// This is triggered on form submit in different component
addUser(userName) {
console.log(userName) // correctly gives String
console.log(this.state) // this is undefined
console.log(this.state.users) // this is the error
// and so this code doesn't work
/*this.setState({
users: this.state.users.concat(userName)
})*/
}
render() {
return (
<div>
<Form addUser={this.addUser}/>
</div>
)
}
}
export default Component
'addUser =(userName)=> {' – Andrew
@Andrewなぜあなたはそのように書く必要がありますか? –
この関数のコンテキストのautobindが、ここでは不正確です。 – Andrew