0
これは私のコードですが、下に表示されているように見えますが、動作しません。私の子供のReactコンポーネントを親状態の変化を検出する関数の中にラップする必要があるのはなぜですか?
MainComponentのselectDayメソッドを使用して、データを取得するためのTableComponentのURLを変更したい当日は
class MainComponent extends React.Component{
constructor(props) {
super(props);
this.state = {
urls: [{
appointmentsUrl: "/api/appointments",
callsUrl: "/api/calls"
}]
}
}
selectDay(day) {
if(day.key == 1) {
this.setState({
urls: [{
appointmentsUrl: "/api/appointments",
callsUrl: "/api/calls"
}]
})
} else {
this.setState({
urls: [{
appointmentsUrl: "/api/appointments2",
callsUrl: "/api/calls2"
}]
})
}
}
render() {
var calendarData = [//init some array of dates];
return (
<div>
<TopMenuComponent/>
<div className="contentContainer">
{
((urls)=>{
return(
<TableComponent key={urls[0].appointmentsUrl} appointmentsUrl={urls[0].appointmentsUrl} callsUrl={urls[0].callsUrl}/>
)
})(this.state.urls)
}
</div>
</div>
)
}
これは動作しますが、私は希望するようなものであるようなものである選択されています
<TableComponent appointmentsUrl={this.state.appointmentsUrl} callsUrl={this.state.callsUrl}/>
として状態を初期化:this.state= {appointmentsUrl: "/api/appointments", callsUrl: "/api/calls"}
なぜそれを書きたいですか?状態は、その方法でアクセスする方法のオブジェクトですか? –
あなたはそうです、言い直してください。 – programstinator