Я добавил еще один компонент ввода, endTime, и выполнил код для startTime, но входное значение для endTime не передается; только startTime. Таким образом, передается входное значение для startTime, но не для endTime. Не знаю почему, потому что я просто скопировал код, который сделал для startTime, и применил его для endTime.
class Calendar extends React.Component {
constructor(props) {
super(props);
this.state = {
startTime: '',//This will keep track of the date/time
endTime:''
};
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit = event => {
event.preventDefault();
console.info(this.state.startTime);
this.setState({
startTime: new Date(document.getElementById("startTime").value).valueOf(),
endTime: new Date(document.getElementById("endTime").value).valueOf()
}, () => {
this.props.data.refetch({//rerun the query using attribute 'timestamp'. Assign the value of inputvalue, which is the current state after pressing the button
startTime: this.state.startTime,
endTime:this.state.endtTime
});
console.info(this.state.startTime);
console.info(this.state.endTime);
});
};
render() {
console.info(this.props);
return (
<div className = "Calendar">
<form onSubmit = {this.handleSubmit.bind(this)}>
<label>Start Time</label>
<input type = "datetime-local" id = "startTime" step = "1" />
</form>
<form onSubmit = {this.handleSubmit.bind(this)}>
<label>End Time</label>
<input type = "datetime-local" id = "endTime" step = "1" />
<input type = "submit" value = "Submit" />
</form>
</div>
);
}
};
export default graphql(getObjectsQuery,
{ options: (ownProps) => {
console.info(ownProps.startTime);
return ({ variables: { startTime: ownProps.startTime,
endTime: ownProps.endTime
} })
} } )(Calendar);




Вы уже привязываете функцию к конструктору, вам просто нужно передать опору, как этот <form onSubmit = {this.handleSubmit}>
Проверили еще раз и выяснили, что endTime обновляется входным значением. Проблема в том, что значение не передается в запрос getObjectsQuery.
Нашел проблему. В setStateendtime был написан неправильно.
Пробовал, но это не так, endTime все еще не определен.