Dmitry
На промисах не сделать. А вообще я их не использую
Looch
Не. Глянь что можно с сагами
Ну yield просто вернет промис из генератора
Looch
Че тут смотреть
Dmitry
А для чего его юзают?
Ну вот в каждом туториале фибоначчи делают
Looch
Промисы не альтернатива или замена генераторам
Dmitry
Промисы не альтернатива или замена генераторам
Я ничего не сказал про замену и альтернативу
Dmitry
Тогда не понял о чем ты
Промис вернёт промежуточный результат?
Anonymous
Так, вопросик, бьёт cors при fetch, а с Axios всё окей, почему?
Anonymous
Какие есть мысли
Dmitry
Промис вернёт промежуточный результат?
Нет. А генератор да. И продолжит дальше выполнение
Looch
Промис вернёт промежуточный результат?
Ну так да, генератор может работать как стрим и иметь сколько угодно промежуточных значений
Looch
Просто ребятки не очень понимают зачем это надо но все равно берут саги
Dmitry
Если можно взять санк и не страдать
Looch
Во во
Anonymous
Если можно взять санк и не страдать
Я именно тот, кто страдает из-за Саг сейчас
Looch
Потому что 90% кейсов покроется обычным async/await
Volodymyr
Пользуюсь thunk и горя не знаю ))))
Looch
У меня к саге ещё и внешний io монитор прикручен
Roman
такс, хуководы, а просто так хуки с редаксом не попользуешь? пытаюсь воткнуть redux-thunk action в useEffect, а оно мне грит шо так низзя
Looch
Короче уже давно не редакс а какое-то чудище на стримах и воркерах
Looch
Так чего тогда проблема его в useEffect юзать ?
Roman
// action export const action = () => async dispatch => { dispatch() } // component const Component = ({ action }) => { useEffect(action, []) return <div /> }
Roman
warning: It looks like you wrote useEffect(async () => ...) or returned a Promise
Dmitry
А ты что передал
Dmitry
Ты в функции анмаунта промис вернул
Roman
ну так у меня redux-thunk - экшны возвращают промисы
Dmitry
ну так у меня redux-thunk - экшны возвращают промисы
А эфекту то посрать на то что у тебя санк
Roman
так... я видать туплю, щас еще раз посмотрю
Dmitry
UseEffect(() => { action() }, [])
Roman
аа догнал
Looch
ну так у меня redux-thunk - экшны возвращают промисы
В новых версиях реакта тоже самое
Looch
На cDM если вернуть промис то будет ругаться
Looch
По крайней мере тайпинг или ide
Dmitry
аа догнал
+ нужно же из конекта брать Если из него функция ничего не принимает и не возвращает, тогда можно так кинуть
Roman
А тут прям санк А кто его диспатчит
там завернуто в диспатч
Roman
через short notation - объект
Dmitry
Там вижу просто санк
Roman
это разные файлы
Roman
const mapDispatchToProps = { action }
Dmitry
В импорте action?
Dmitry
И вот тут = ({ action }) => Уверен что он из конекта?
Looch
Да блин, коннект сам обернет в диспатч
Roman
import { action } from 'actions' const Component = { action } => ... const mapDispatchToProps = { action } export default connect(null, mapDispatchToProps)(Component)
Roman
та работает все уже, спасибо
Roman
не догнал что нельзя без фигурных скобок - implicit return
Cenator 🐈
Roman
Или не возвращать ничего из санка
а не поможет ведь - надо ж вернуть промис, чтоб санк отработал
Cenator 🐈
а не поможет ведь - надо ж вернуть промис, чтоб санк отработал
Промис надо вернуть чтобы потом action().then() в компоненте делать, других причин не вижу
Cenator 🐈
J. A. R. Kotlien
https://github.com/facebookincubator/redux-react-hook или https://github.com/gostgroup/use-redux
Roman
Промис надо вернуть чтобы потом action().then() в компоненте делать, других причин не вижу
не, так смотри export const action = () => { async (dispatch) => { dispatch({}) } } так не работает - action должен вернуть функцию
🦜
а шо щас модно?
в альфе реакт-редакс есть хуки, но что-то там криво работает. Есть статья о них
Roman
https://github.com/facebookincubator/redux-react-hook или https://github.com/gostgroup/use-redux
сейчас бы либы с 5 звездами использовать)
Cenator 🐈
export const action = () => (dispatch) => { fetch().then(() => dispatch({})) }
J. A. R. Kotlien
сейчас бы либы с 5 звездами использовать)
Бери фейса библу. Я просто себе под задачи сам на работе накидал и полгода в проде норм.
Cenator 🐈
export const action = () => (dispatch) => { fetch().then(() => dispatch({})) }
1) не делать асинк функцию 2) не возвращать ничего
Dmitry
1) не делать асинк функцию 2) не возвращать ничего
Можно сразу в мап диспчт ничего не вернуть и сделать просто функцию
Дима
mbdtf
Китикет
Это не оч, потому что логика может вылезти за "область обзора")
Китикет
А потом приконнектишь как привык, а там сюрприз
Kurzdor
Народ, использование Redirect в RR-DOM вообще законно и тимлид не будет бить за это?
Kurzdor
Ну тимлиду не очень нравится эта штука
Kurzdor
Хз поч