Skrrboy
@Skrrboy

Как проверять существуемость объекта в dispatch?

Добрый вечер! Подскажите как я могу проверять существует ли объект в диспатче или нет. Например у меня есть тип у которого указано
interface DataState {
  Data: ExpectedData| null;
   Favorite: false;
}
const data = useSelector(state => state.DataState.Data)
const favorite = useSelector(state => state.DataState.Favorite)
const dispatch = useDispatch()
.......

if(favorite){
   dispatch(someFunction(data))  //допустим тут я хочу задиспатчить данные
}

Как сделать, чтобы диспач не ругался что аргумент = null ?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
Aetae
@Aetae Куратор тега TypeScript
Тлен
Как уже сказал Lynn «Кофеман»: чтоб typescript не ругался на null ты должен сделать так, чтобы там не было null. Довольно очевидно, да.

На практике надо сделать либо так:
const data = useSelector(state => state.DataState.Data) ?? defaultData;
Либо так:
if (favorite && data) {

Ну или ещё как, на твой вкус.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы