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);
}
}
string и { checked: boolean; id: number; }? Это два совершенно разных типа. Что-то не может быть одновременно и тем и тем.any, специальный уникальный тип для затыкания дыр, который в обычном коде использовать нельзя. Другие же типы могут быть только более-менее конкретны.
router.beforeEach(async (to, from, next) => {
if(!to.meta.requireAuth) {
return next();
}
if(store.getters['auth/isAuthorized']) {
// тут может быть проверка не устаревает ли токен по времени
// и запрос нового, но лучше если этим автоматически
// в фоновом режиме будет заниматься либа\самописный сервис
// if (await store.dispatch('auth/updateTokenIfNearExpired'))
return next();
}
return next('/login');
})
export default { ... } ты экспортируешь простой объект без типа. Это не объект Vue это просто какой-то объект. В нём нет никаких стандартных методов и вообще ничего, кроме того что ты явно в нём написал.defineComponent принимает на вход объект конкретного типа, а потому к нему применяются все прописанные для нужных типов условия.