На фронте у меня React/Redux приложение по добавлению cards и к каждой карточке неограниченное количество entries.
В Redux store есть массив card и entries, и обычные actions: addCard, deleteCard, editCard, addEntry, deleteEntry, editEntry.
const rootReducer = combineReducers({
cards: CardReducer,
entries: EntryReducer,
});
На бэке express/mongoose
const todoSchema = new mongoose.Schema({
cards: {type: Array, required: true},
entries: {type: Array, required: true},
createdAt: {type: Date, default: Date.now}
});
Сейчас у меня на загрузку в БД используется один action creator, который передает массив с массивами cards и entries в массив БД и выполняется при рендере главного компонента.
axios.post(API_URL, {cards, entries})
А в componentDidMount я вызываю action creator, который обращается к БД и достает последний массив в массиве БД.
Здесь и вопрос. Хочу сделать нормально...
Предполагаю, что нужно создать function requests к бэку для каждого случая. Но как ? Типо такого:
addCardBD - добавить карточку и на бэке будет добавляться в массив cards один объект с пустым полем "name".
editCardBD - на бэке будет меняться меняться поле 'name'.
deleteCardBD
итд
Ссылка на код:
https://github.com/Jeerjmin/dnd-mern
Если что-то не понятно или еще кода добавить - поправлю, добавлю.
Спасибо