changeOn
передавать ещё и состояние (то что IsOn
) в props.createContext
с useContext
внизу и Provide
наверху. Дальше сам почитай. laravel mix hash chunk name
или типа того.no-cache
- это не значит не кэшировать, это значит кэшировать но проверять каждый раз(...когда захочет браузер). Не кэшировать - no-store
. if
и switch
? Ну напиши так, если тебе это понятнее: function* changeTodo(action: TT) {
try {
switch (action.type) {
case TodosActionsTypes.CHANGE_TODO:
yield call(() =>
axios.patch(`http://localhost:3100/todos/${action.payload.id}`, {
checked: !action.payload.checked,
})
);
yield put({
type: TodosActionsTypes.CHANGE_TODO_SUCCESS,
payload: action.payload.id,
});
break;
}
} catch (e) {
console.error(e);
}
}
switch
ты это сделаешь, через if
, или через танец живота - значения не имеет.payload
string
, что дальше?payload.checked
и payload.id
- undefined
. И call
и axios
и put
при этом выполнятся без ошибок, но с неверными значениями. Именно для защиты от такого как раз и придуман typescript. function* changeTodo(action: TT) {
try {
if (action.type === TodosActionsTypes.CHANGE_TODO) {
yield call(() =>
axios.patch(`http://localhost:3100/todos/${action.payload.id}`, {
checked: !action.payload.checked,
})
);
yield put({
type: TodosActionsTypes.CHANGE_TODO_SUCCESS,
payload: action.payload.id,
});
}
} catch (e) {
console.error(e);
}
}