Я пытаюсь выбрать выбранное значение dateAway с названием dateAway и, если оно меньше текущего времени, в вычисляемом поле с именем «isPassed» будет указано «да», в противном случае - «нет». Это моя ProductForm.
componentWillReceiveProps = nextProps => {
// Load Contact Asynchronously
const { product } = nextProps;
if (product._id !== this.props.product._id) {
// Initialize form only once
this.props.initialize(product);
this.isUpdating = true;
}
};
render() {
let ProductForm = (props) =>{
const { whenIsPassedAway, handleSubmit, loading } = this.props;
if (loading) {
return <span>Loading...</span>;
}
return (
<form onSubmit={handleSubmit}>
<Field
name='name'
type='text'
component={TextField}
placeholder='...Name'
label='Name'
/>
<Field
name='description'
rows='8'
component={TextArea}
placeholder='...Description'
label='Description'
/>
<Field
name='brand'
type='text'
component={TextField}
placeholder='...Brand'
label='Brand'
/>
<Field
name='price'
component={NumberPickerr}
placeholder= '...price'
label='Price'
/>
<Field
name='stock'
component={NumberPickerr}
placeholder= '...stock'
label='Stock'
/>
<Field
name='code'
type='text'
component={this.renderField}
label='Code'
/>
<Field
name='passedAway'
type='text'
component={this.renderField}
label='PassedAway'
input={{disabled: true}}
value={whenIsPassedAway}
/>
<Field
name='createdAt'
dateFormat= 'DD-MM-YYYY'
// dateFormat='dd-MM-yyyy H:mm'
// showTimeSelect
timeFormat= 'HH:mm'
placeholder='product createdAt...'
label='CreatedAt'
component={DateTimePickerInput}
/>
<Field
name='passedAwayAt'
dateFormat= 'DD-MM-YYYY'
// dateFormat='dd-MM-yyyy H:mm'
// showTimeSelect
timeFormat= 'HH:mm'
placeholder='product passedAwayAt...'
label='PassedAwayAt'
component={DateTimePickerInput}
/>
<Link className='btn btn-light mr-2' to='/products'>
Cancel
</Link>
<button className='btn btn-primary mr-2' type='submit'>
{this.isUpdating ? 'Update' : 'Create'}
</button>
</form>
);
}
}
}
ProductForm = reduxForm({
form: 'product'
})(ProductForm)
const selector = formValueSelector('product')
ProductForm = connect(
state =>{
const whenIsPassedAway = selector(state,'passedAwayAt')
return{
hasPassedAway : `${whenIsPassedAway}` <= Date.now() ? 'yes' : 'no'
}
}
)(ProductForm)
export default reduxForm({ form: 'product', validate: validations })(ProductForm);
Когда я выполняю рендеринг компонента, у меня появляется следующая ошибка:
Ваш метод рендеринга должен иметь оператор return response / require-render-return
Я ожидаю, что значениеAsAway было рассчитано по параметру whenIsPassedAway, но я получил эту ошибку и приложение упало.
Я использую вычисляемые поля.
Что не так?