2 回答

TA貢獻1818條經驗 獲得超8個贊
我不熟悉 FormContext/Enhancer,但是我認為您的錯誤在于您的增強器。您正在解構從 onSubmit 處理程序返回的對象,以尋找屬性“stateKostul”?!皊tateKostul”可能未在 FormContainer 的狀態中定義。這只是您傳遞給它的變量的名稱。
嘗試改變:
handleSubmit: ({stateKostul}) => () => {
console.log('it works!');
console.log(stateKostul);
//fetch to server
}
至:
handleSubmit: (stateKostul) => () => {
console.log('it works!');
console.log(stateKostul);
//fetch to server
}

TA貢獻1780條經驗 獲得超4個贊
我將 AddProductForm 從功能組件更改為類組件并添加了方法 handleSubmit。猜猜問題出在上下文上。不確定如何,但現在有效
這是我的代碼:
class AddProductForm extends React.Component{
constructor(props){
super(props);
this.state = {
title: '',
location: '',
description: '',
photos: [],
price: '',
};
this.handleSubmit = this.handleSubmit.bind(this);
}
handleSubmit(stateKostul) {
console.log('it works!');
console.log(stateKostul);
//fetch to server
}
render() {
return (
<div className={s.container}>
<h2 className={s.formTitle}>Add product</h2>
<div className={s.formContainer}>
<FormContainer initialValue={this.state} handleSubmit={this.handleSubmit}>
// custom inputs and submit button
</FormContainer>
</div>
</div>
);
}
}
添加回答
舉報