将React类组件转换为函数组件时出错



我正在尝试将此演示转换为函数组件。我正在遵循这些步骤,但我遇到了以下问题:

类版本:

this.appointmentForm = connectProps(AppointmentFormContainer, () => {
const {
editingFormVisible,
editingAppointment,
data,
addedAppointment,
isNewAppointment,
previousAppointment,
} = this.state;

函数转换尝试:

const [appointmentForm, setappointmentForm] = useState({});

setappointmentForm(connectProps(AppointmentFormContainer, () => {
const {
editingFormVisible,
editingAppointment,
data,
addedAppointment,
isNewAppointment,
previousAppointment,
};
解析错误:"Const声明"需要一个初始化值。"它指的是setappointments form下面那行中的const,但是去掉它也是不正确的。如果整个代码是需要的,我会把它,但它是相当长的。什么好主意吗?

您的const声明没有右侧。这样做是不合法的:

const foo;

你还需要给它一个值,如

const foo = "bar";

看起来你在试图解构一个状态对象。在函数组件中,通常将状态拆分,而不是将其放在单个对象中,因此您可能根本不想执行此解构语句,而是执行独立状态。例如:

const [editingFormVisible, setEditingFormVisible] = useState();
const [editingAppointment, setEditingAppointment] = useState();
const [data, setData] = useState();
// ... etc

如果你不想拆分状态,想继续进行解构赋值,那么把要解构的对象放在右边。

const {
editingFormVisible,
editingAppointment,
data,
addedAppointment,
isNewAppointment,
previousAppointment,
} = someObject; // <------- added

最新更新