2017-10-10 21 views
0

divタグのテキストを更新しようとしていますが、startDateとendDateが新しい値を取得してもdivは古い値を表示しています。私は状態変化とのdiv内のテキストを更新するにはどうすればよい状態変更時にdivテキストを変更するにはどうすればいいですか?

import moment from 'moment'; 
import DatetimeRangePicker from 'react-bootstrap-datetimerangepicker'; 
class TestPage extends Component { 
constructor(props) { 
super(props); 
this.state = { 
startDate: moment().subtract(1, 'days').format('YYYY-MM-DD HH:mm'), 
endDate: moment().format('YYYY-MM-DD HH:mm'), 
}; 
} 

handleChange(event, payload) { 
this.setState({ 
startDate: payload.startDate.format('YYYY-MM-DD HH:mm'), 
endDate: payload.endDate.format('YYYY-MM-DD HH:mm') 
}); 
this.onChange(); 
this.props.sendDateRanges(payload); 
} 

onChange() { 
return `${this.state.startDate} - ${this.state.endDate}`; 
}); 
} 
render() { 
return (<div> 
<DatetimeRangePicker 
timePicker 
showDropdowns 
onShow={this.handleChange.bind(this)} 
onApply={this.handleChange.bind(this)} 
> 
</DatetimeRangePicker> 
<div>{onChange()}</div> </div>); 
} 
export default connect(mapStateToProps, actions)(TestPage); 

答えて

0

は、それが感謝を働い

render() { 
const dateDiff = `${this.state.startDate} - ${this.state.endDate}`; 
return (<div> 
<DatetimeRangePicker 
timePicker 
showDropdowns 
onShow={this.handleChange.bind(this)} 
onApply={this.handleChange.bind(this)} 
> 
</DatetimeRangePicker> 
<div>{dateDiff}</div> </div>); 
+0

...あなたのonChange機能を削除し、代わりにこれを行います – NSh

関連する問題