我是新手,我想知道这是否正常。如果我在 componentWillReceiveProps 方法中放置一个 console.log,它只会无限地记录信息。我if (this.props !== nextProps) {}
在 console.log 正下方有一个检查,所以实际上什么都没有触发,但作为初学者,无限循环让我很担心。有人可以说明这是否正常吗?
我将从我的代码中提取一些重要的片段。
// From the parent component
constructor(props: any) {
super(props);
this._handleChanged = this._handleChanged.bind(this);
this._onSave = this._onSave.bind(this);
this.state = { columns: {}, fieldsWithErrors: {}, loaded: false, loadedValues: {} };
}
componentDidMount() {
RestUtil.get().then((response) => {
// put in an if statement to check if response came back null
this.state.loadedValues = response;
this.setState({
loadedValues: this.state.loadedValues,
loaded: true
});
}, (error: any) => {
alert(`There was a problem submitting your request: ${error}`);
console.log(error);
});
}
<MyDatePicker
label="Label"
name="Name"
isrequired={false}
onSelectDate={this._handleChanged}
value={this.state.loadedValues["Name"]}
/>
// From MyDatePicker
public render() {
return (
<div>
<DatePicker
label={this.props.label}
strings={DayPickerStrings}
placeholder='Select a date...'
value={this.state.date}
isRequired={this.props.isRequired}
onSelectDate={this._handleChange}
/>
</div>
);
}