Я могу удалить и добавить данные в мой файл JSON, но если я продолжаю нажимать кнопку (переключение добавления / удаления), я получаю сбой сети. Я предполагаю, что не могу сделать несколько таких запросов?
const handleSave = save => {
if (save.toLowerCase() === 'save') {
props
.addSaved({
variables: {
id: props.id,
},
})
.then(res => {
setSaved('Unsave');
setSavedPropData(res.data.addSaved);
});
} else {
props
.deleteSaved({
variables: {
id: savedPropData.id,
},
})
.then(() => setSaved('Save'));
}
};
Выше приведен фрагмент моего дескриптора, сохраняющего данные. Таким образом, каждое нажатие переключает Save или Unsave, а затем добавляет или удаляет данные в моем JSON. В настоящее время я использую json сервер для тестирования приложения.
const savedMutate = gql`
mutation addSaved($id: String) {
addSaved(id: $id) {
id
}
}
`;
const deletedMutate = gql`
mutation deleteSaved($id: String) {
deleteSaved(id: $id) {
id
}
}
`;
export default _.flowRight(
graphql(savedMutate, {name: 'addSaved'}),
graphql(deletedMutate, {name: 'deleteSaved'}),
)(withNavigation(Card));
Есть ли лучший способ сделать это, если я разверну приложение в производство? В настоящее время у меня происходит сбой сети, когда я переключаюсь быстро. Я просто попробовал еще раз, потому что мое приложение обновляется каждый раз, и пока оно обновляется, я пытаюсь сохранить его в своей базе данных, но оно не было полностью смонтировано? Это происходит только в процессе разработки?
мутация:
addSaved: {
type: SavedType,
args: {
id: {type: GraphQLString},
},
resolve(parentValue, {id}) {
return axios
.post(`http://localhost:3000/saved`, {id})
.then(res => res.data);
},
},
deleteSaved: {
type: SavedType,
args: {
id: {type: GraphQLString}
},
resolve(parentValue, {id}) {
return axios
.delete(`http://localhost:3000/saved/${id}`)
.then(res => res.data);
},
},