Сервис быстрых ответов от искусственного интеллекта
Вопрос пользователя:
Ответ нейросети:
Исправьте тип TConstructorIngredient
следующим образом:
export type TConstructorIngredient = TIngredient & {
id: string;
};
Исправьте ошибки в слайсе следующим образом:
const burgerSlice = createSlice({
name: 'burgers',
initialState,
reducers: {
addBurgerIngredient: (state, action: PayloadAction<TConstructorIngredient>) => {
if (state.bun === null) {
state.bun = action.payload;
} else {
state.ingredients.push(action.payload);
}
},
removeBurgerIngredient: (state, action: PayloadAction<string>) => {
state.ingredients = state.ingredients.filter((ingredient) => ingredient.id !== action.payload);
},
moveBurgerIngredient: (state, action: PayloadAction<{ currentIndex: number, targetIndex: number }>) => {
const { currentIndex, targetIndex } = action.payload;
const ingredientToMove = state.ingredients[currentIndex];
state.ingredients.splice(currentIndex, 1);
state.ingredients.splice(targetIndex, 0, ingredientToMove);
},
clearBurgerIngredients: (state) => {
state.ingredients = [];
state.bun = null;
}
},
extraReducers: (builder) => {
builder
.addCase(fetchIngredients.pending, (state) => {
state.loading = true;
})
.addCase(fetchIngredients.fulfilled, (state, action: PayloadAction<TIngredient[]>) => {
state.ingredients = action.payload;
state.loading = false;
})
.addCase(fetchIngredients.rejected, (state) => {
state.error = 'Ошибка при получении данных';
state.loading = false;
});
}
});
После внесения этих изменений ваш слайс должен работать корректно.
Напишите нам, если в вопросе есть ваши персональные данные (yasnoponyatno24@yandex.ru)
Обратите внимание: ответы, предоставляемые искусственным интеллектом, могут не всегда быть точными. Не рассчитывайте на них в критически важных областях, таких как медицина, юриспруденция, финансы или в вопросах, связанных с безопасностью. Для важных решений всегда обращайтесь к квалифицированным специалистам. Администрация сайта не несет ответственности за контент, сгенерированный автоматически.