我正在尝试将用户输入的值从 app 组件传递到 passTicket 组件。我尝试调用 props 来传递这个状态数据,但是在尝试访问它时我不断收到未定义的错误。我是新手,如果有人能帮助我理解我的错误,那就太好了。这是我要实现的目标的示例。这是我的主要组成部分:
class App extends Component {
constructor(props){
super(props);
this.state = {
ticket:"",
};
this.changeTicket = this.changeTicket.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
this.keyPress = this.keyPress.bind(this);
}
changeTicket(e){
this.setState({
ticket : e.target.value,
})
}
handleSubmit(){
this.setState({
updatedTicket: this.state.ticket
});
}
keyPress(e){
if (e.keyCode ===13){
this.handleSubmit();
}
}
render() {
return (
<div className="App">
<header className="App-header">
<input type="text" placeholder="ENTER TICKET NUMBER" value={this.state.ticket} onKeyDown={this.keyPress} onChange={this.changeTicket}/>
</header>
</div>
);
}
}
我希望能够将 updatedTicket 值存储在我可以在 PassTicket 组件中使用的变量中。这是我到目前为止所尝试的,但它发生的错误如下Uncaught TypeError: Cannot read property 'updatedTicket' of undefined
这是我的第二个组件的样子:
class PassTicket extends Component {
transferredTicket(){
const myTicket = this.props.state.updatedTicket;
return myTicket
}
render() {
return (
<p>{this.transferredTicket()}</p>
);
}
}