私の入力フォームの値をAppMapコンポーネントに渡そうとしていて、地図の中心がprop city
になっています。私はsearchValue
の状態をハードコードするときに動作しますが、フォームを送信するとAppMapコンポーネントの小道具として状態が渡されません。誰かが私が間違っていることを知っていますか?前もって感謝します。フォームを送信するときに小道具が渡されない
class Map extends Component{
constructor(){
super()
this.state = {
value: ' ',
searchValue: "London"
};
this.handleChange = this.handleChange.bind(this);
this.handleSubmit = this.handleSubmit.bind(this);
}
handleChange(event) {
this.setState({value: event.target.value});
}
handleSubmit(event) {
const value = this.state.value
event.preventDefault();
this.setState ({
searchValue: value
})
}
render(){
return(
<div className='map'>
<h1>The Map</h1>
<AppMap city={this.state.searchValue} />
<Grid>
<Row className="show-grid">
<FormGroup value={this.state.value} onChange={this.handleChange} name='cardHeading' controlId="formControlsTextarea">
<Col xs={8} md={8}>
<FormControl type="text" placeholder="title" />
</Col>
<Col xs={4} md={4}>
<Button onClick={this.handleSubmit} type="submit">Submit</Button>
</Col>
</FormGroup>
</Row>
</Grid>
</div>
)
}
}
輸出デフォルトの地図
にFormControlにする必要がありますが、私は反応しDEV-ツールをインストールしてから、私はコンポーネントのアップデートが、それは状態だと、見ることができましたが、何も変わっていないあなたに感謝しますAppMapコンポーネントのフェッチ機能を間違ったライフサイクルメソッドで書いたからです – HarryTgerman
これが役に立ちましたら、これを便利な回答にしてください。 –