使用 useReducer 将营业开始/结束时间发送到 Nextjs 中的 sql 数据库

问题描述 投票:0回答:0

我希望每个人都过得很好。 我正在尝试使用 nextjs 将餐厅的营业时间和营业时间添加到数据库中。 我能想到的最好的方法是使用 useReducer(from react) 来保存状态,因为每天都有自己的打开和关闭时间输入字段。 (我的思考过程是为了将所有信息发送到数据库,我应该将它们存储为对象数组

restaurantOpeningHours=[{     Monday:{openingHours:'Time'},     Tuesday:{openingHours:'Time'},     Wednesday:{openingHours:'Time'},     Thursday:{openingHours:'Time'},     Friday:{openingHours:'Time'},     Saturday:{openingHours:'Time'},     Sunday:{openingHours:'Time'} }]; restaurantClosingHours=[{     Monday:{closingHours:'Time'},     Tuesday:{closingHours:'Time'},     Wednesday:{closingHours:'Time'},     Thursday:{closingHours:'Time'},     Friday:{closingHours:'Time'},     Saturday:{closingHours:'Time'},     Sunday:{closingHours:'Time'}, }]
目标是使用 UseReducer 将它们置于状态,并在单击保存按钮时将它们发送到数据库。 关于如何使用 switch 语句有效地编写 reducer 函数的任何建议? 有没有更好的方法我应该研究?

来自 sql 中的表端

我有“**restaurant_Opening_Hours **”表和“**restaurant_Closing_Hours **”表作为单独的表,其中列是除餐厅外键外的日期。 也欢迎在这里提出任何建议。

在尝试为 useReducer 钩子创建 reducer 文件时:

export const initialState = {
openingHours: [],
closingHours: [],
};

const hoursReducer = (state, action) => {
const {type, payload} = action;

switch (type) {
case "ADD_OPENING_HOURS":
return; {
...state,
openingHours:{openingHours.day.payload:{openingHours.day.time.payload }

}
case "ADD_CLOSING_HOURS":
return; {
...state,
closingHours:{closingHours.day:{closingHours.day.time.payload }
}
case "EDIT_OPENIGN_HOUR":
return; {
...state,
openingHours:{openingHours.day:{openingHours.day.time.payload }
}
case "EDIT_CLOSING_HOUR":
return {
...state,
closingHours:{closingHours.day:{closingHours.day.time.payload }
}
}
};

上面的代码是让 reducer 操作 initialState 对象的失败尝试。欢迎任何帮助。

reactjs postgresql dispatch use-reducer supabase-database
© www.soinside.com 2019 - 2024. All rights reserved.