Size: a a a

React — русскоговорящее сообщество

2021 January 29

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Олег
КТо объяснит зачем нужен ExtraReducer если я могу вызывать экшены другого слайса ?
Что значит вызывать экшены другого слайса? Причем тут extraReducers?

В доке вроде нормально описано, что бы реагировать на внешние экшены
источник

О

Олег in React — русскоговорящее сообщество
Тимофей 🛴
Что значит вызывать экшены другого слайса? Причем тут extraReducers?

В доке вроде нормально описано, что бы реагировать на внешние экшены
чет по доке не оч понял...
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Олег
чет по доке не оч понял...
Ну вот есть внешний экшен, созданный не с помощью createSlice. И вот что бы твой слайс при диспатче этого экшена изменялся и нужен extraReducer
источник

О

Олег in React — русскоговорящее сообщество
Тимофей 🛴
Ну вот есть внешний экшен, созданный не с помощью createSlice. И вот что бы твой слайс при диспатче этого экшена изменялся и нужен extraReducer
а я же могу создать для этого отдельно редьюсер в этом слайсе?
источник

О

Олег in React — русскоговорящее сообщество
> созданный не с помощью createSlice
лол не знал что так можно
источник

А

Антон in React — русскоговорящее сообщество
Vlad
function a () {
 function b () {
   return ‘fn b’
 }

 b()

}
a() // ?
Я закопался. Везде где почитал - примеры с промисами описаны как возврат промисов, или выполнение некоего действия не связанного с непосредственным возвратом полученных и обработанных данных (например: запись в состояние или вывод в консоль)
А мне требуется в вызывающей функции вернуть данные запроса к серверу.
Что я делаю не так?
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Олег
а я же могу создать для этого отдельно редьюсер в этом слайсе?
Ты только начал изучать redux?
источник

V

Vlad in React — русскоговорящее сообщество
Антон
Я закопался. Везде где почитал - примеры с промисами описаны как возврат промисов, или выполнение некоего действия не связанного с непосредственным возвратом полученных и обработанных данных (например: запись в состояние или вывод в консоль)
А мне требуется в вызывающей функции вернуть данные запроса к серверу.
Что я делаю не так?
из промиса ты вернешь только промис
источник

О

Олег in React — русскоговорящее сообщество
Тимофей 🛴
Ты только начал изучать redux?
да вроде нет
источник

V

Vlad in React — русскоговорящее сообщество
Антон
Я закопался. Везде где почитал - примеры с промисами описаны как возврат промисов, или выполнение некоего действия не связанного с непосредственным возвратом полученных и обработанных данных (например: запись в состояние или вывод в консоль)
А мне требуется в вызывающей функции вернуть данные запроса к серверу.
Что я делаю не так?
ответ такой же - return getFilter..then()
источник

О

Олег in React — русскоговорящее сообщество
Антон
Я закопался. Везде где почитал - примеры с промисами описаны как возврат промисов, или выполнение некоего действия не связанного с непосредственным возвратом полученных и обработанных данных (например: запись в состояние или вывод в консоль)
А мне требуется в вызывающей функции вернуть данные запроса к серверу.
Что я делаю не так?
сделай return или юзай async/await
источник

А

Антон in React — русскоговорящее сообщество
Vlad
ответ такой же - return getFilter..then()
Ну и получится цепочка промисов. А до до данных я так и не доберусь, выходит
источник

V

Vlad in React — русскоговорящее сообщество
Антон
Ну и получится цепочка промисов. А до до данных я так и не доберусь, выходит
доберешься через еще один .then / await
источник

Т

Тимофей 🛴 in React — русскоговорящее сообщество
Олег
да вроде нет
Ну тогда ты должен знать, что экшен можно создать как угодно, это же просто объект, и createSlice это апи для создания слайсов в которых экшены однозначно вызывают какую то мутацию стейта, а не все экшены такие. У нас же есть апи createAction и createReducer
источник

О

Олег in React — русскоговорящее сообщество
Тимофей 🛴
Ты только начал изучать redux?
ну то есть смотри. есть слайс. у него редьюсеры. если надо менять стейт то создаю редьюсер и меняю через него. других сценариев я пока не юзал
источник

О

Олег in React — русскоговорящее сообщество
Тимофей 🛴
Ну тогда ты должен знать, что экшен можно создать как угодно, это же просто объект, и createSlice это апи для создания слайсов в которых экшены однозначно вызывают какую то мутацию стейта, а не все экшены такие. У нас же есть апи createAction и createReducer
ну это да. ну то есть я не думал что createSlice может принимать экшены созданные НЕ им
источник

PE

Pavel Ermolin in React — русскоговорящее сообщество
Антон
Я закопался. Везде где почитал - примеры с промисами описаны как возврат промисов, или выполнение некоего действия не связанного с непосредственным возвратом полученных и обработанных данных (например: запись в состояние или вывод в консоль)
А мне требуется в вызывающей функции вернуть данные запроса к серверу.
Что я делаю не так?
Тебе нет смысла что-то возвращать потому что к моменту начала выполнения промиса у тебя весь синхронный код будет уже выполнен!

Представь что интерпретатор уже на последней строчке и просто ждет и тут происходит promise.then, он выполняет его и все задач больше нет...

Тебе нужно передать результат в функцию и вызвать её.
источник

PE

Pavel Ermolin in React — русскоговорящее сообщество
Pavel Ermolin
Тебе нет смысла что-то возвращать потому что к моменту начала выполнения промиса у тебя весь синхронный код будет уже выполнен!

Представь что интерпретатор уже на последней строчке и просто ждет и тут происходит promise.then, он выполняет его и все задач больше нет...

Тебе нужно передать результат в функцию и вызвать её.
Промис всегда возвращает объект промиса, попробуй 5 раз подряд что-то вернуть.
источник

PE

Pavel Ermolin in React — русскоговорящее сообщество
Simon
const [alertState, setAlertState] = useState(false);
 const onChange = (e) => {
   if (e.target.value < 0) setAlertState(true)
 }
<>
 <StyledTableCell align="center">
   <TextField
     inputRef={register({ required: true })}
     inputProps={{ min: 0 }}
     type="number"
     error={error}
     variant="outlined"
   />
 </StyledTableCell>
 <StyledTableCell align="center">
   <TextField
     inputRef={register({ required: true })}
     inputProps={{ min: 0 }}
     type="number"
     error={error2}
     variant="outlined"
   />
 </StyledTableCell>
 <StyledTableCell align="center">
   <TextField
     inputRef={register({ required: true })}
     inputProps={{ readOnly: true }}
     type="number"
     onChange={onChange}
     value={fields[row.meta_label_id].plan - fields[row.meta_label_id].fact}
   />
 </StyledTableCell>
</>;
Нельзя хуки вкладывать в условия if..., Хуки вызываются при каждом рендере.
источник

К

Кирилл in React — русскоговорящее сообщество
Pavel Ermolin
Нельзя хуки вкладывать в условия if..., Хуки вызываются при каждом рендере.
а где у него хука в условии?
источник