Garden
Хендлер навешан на кнопку
Garden
Да
Когда второй экшн запускается, он не подхватывает изменения из стора, которые меняет первый экшн
Garden
В этом проблема
Nikolai
Когда второй экшн запускается, он не подхватывает изменения из стора, которые меняет первый экшн
Redux dev tools поставьте и смотрите что у вас в сторе меняется и что в каком порядке диспатчится. Может у вас в редьюсере ошибка или асинхронно что то в неправильном для бизнес-логики порядке происходит
Ilya
В первом промис присутствует?
Garden
В первом промис присутствует?
Не присутствует, я могу сделать так? export const test = nextPage => dispatch => { return new Promise(resolve => dispatch({ type: constants.CHANGE_PAGE, payload: nextPage })) }
Garden
и потом просто запилить асинхронный хендлер
Nikolai
Вообще само по себе тот факт, что у вас 2 экшена диспатчится из клика, говорит о том что поток данных не продуман
Ilya
Не присутствует, я могу сделать так? export const test = nextPage => dispatch => { return new Promise(resolve => dispatch({ type: constants.CHANGE_PAGE, payload: nextPage })) }
Не очень понял, зачем? Я о том, что если первый хоть сколько-нибудь долго выполняется, то второй стартует, ещё не имея результатов работы первого. В этом случае решается либо передачей второго хендлера в виде коллбэка (что, как сказал коллега, есть непродуманная логика), либо, если в конце выполнения первого сделать вызов второго. Легко сделать, если у вас, к примеру, саги используются.
Ilya
const fullAction => dispatch => Promise.resolve(firstAction()).then(firstResult => { dispatch({ type: ... }); dispatch(secondAction()); }) Что-то вроде этого
Daniil
можно ли на btnClick повесить несколько функций?
Daniil
Или лучше в первую функцию добавить вызов другой функции
Alexandr
Пт всем, когда в styled component стилизуется компоннет как правильно подключать? В файле стиля импортить компонент? Или как это делается?
Anatoliy
Пт всем, когда в styled component стилизуется компоннет как правильно подключать? В файле стиля импортить компонент? Или как это делается?
В файле стилей типо styled.js импортируешь styled-components, экспортируешь то что тебе нужно с стилями, где нужно импортишь и используешь
Alexandr
Ну тоесть есть к примеру Link я его импорт делаю в стайледах и в компоненте просто вызываю стилизированый Link?
Alexandr
Ну понял, спасибо. Просто казалось это неправильное решение, не очевидно что за компонент подключается из-за того что он в стайледах.
Alexandr
const MyLink = styled.a`` <MyLink as={Link} />
Во, так получше смотрится, спасибо.
Alexandr
В доке хорошо описаны варианты использования, почитай внимательнее
Я там почему-то только про классы увидел, пропустил где-то наверное. Спасибо
Tutu
Народ. Задался таким вопросом. Нужен ли сейчас релакс или mobx вообще. Когда у нас уже вроде всё есть из коробки
Tutu
?
Tutu
redux
Anatoliy
Народ. Задался таким вопросом. Нужен ли сейчас релакс или mobx вообще. Когда у нас уже вроде всё есть из коробки
Так что из коробки ты подразумеваешь, контекст? Он хорош, но все зависит же от твоих потребностей
Tutu
Глобальное состояние хранить в хоках. Пробрасывать через контекст. Если надо редюсер то есть хук
Tutu
По сути уже все есть и не надо нечего лишнего тянуть
Dmitriy
Почему в доке реакта четко не написано что хоки/рендерпропс/хуки это разные способы достижения единой цели?
Василий
по моему хуки с 16 версии пошли
Василий
не успели прописать
Dmitriy
Хоки и рендерпропсы, да Но хуки это вообще другая вещь
инкапсуляция логики, какая еще цель?
Василий
про хуки знаю - скоро начну пользоваться - что за хоки ?
Nikita
хай ордер компоненты я так догадываюсь
Василий
на хуки забить? вроде они полезны. я заколебался управление состоянием протягивать в родительские компоненты - надо почитать вдруг полезны будут
Василий
HOC
уговорил. и без этого есть про что мозки почесать
King
инкапсуляция логики, какая еще цель?
Инкапсуляция логики слишком обще, вообще ничего не говорит о каждом из подходов. Обычное вынесение в отдельную функцию это тоже инкапсуляция логики Хуки просто заменяют тебе фичи классовых компонентов в функциональных, и местами это делается более органично чем классовые методы Хоки вообще не про то. Скажем, ты хочешь вызвать сайд эффект до рендера, это делается через хук, но через хок не сделаешь. Максимум, можешь обернуть свой компонент в хок, который вызовет сайд эффект. Но как внешний компонент вызовет сайд эффект? Через хук или конструктор классового компонента
Solnur
какие альтернативы?
Dmitriy
какие альтернативы?
Хуки, рендерпропс
Solnur
при чем хуки?
Solnur
вот мне надо завернуть в компонент с каким нибудь поведением по отрисовке - как тут хук заменит хок?
Dmitriy
Но ведь нельзя говорить что "хуки это альтернатива хокам", ты так только запутываешь людей
а я и не говорю что альтернатива. Я говорю что цель конченая одинаковая
Solnur
написать кастомный хук
лучше чем хок? можно пример?
Dmitriy
ну хуки полностью покрывают заачи хоков и даже больше.
Dmitriy
лучше чем хок? можно пример?
https://reactjs.org/docs/hooks-custom.html
Frontend Priest
Глобальное состояние хранить в хоках. Пробрасывать через контекст. Если надо редюсер то есть хук
Абрамов сказал, что из-за дополнительной работы под капотом подход через контексты будет явно медленнее редакса. Пруфов не будет, искать по твиттеру почти нереально
King
ну хуки полностью покрывают заачи хоков и даже больше.
Если ты экспортишь компонент, ты можешь в одну строку обернуть в хок connect()(MyComponent) С хуками придется руками обворачивать в новый компонент const WrapperComponent = () => { useConnect() return <MyComponent/> }
Frontend Priest
У тебя нет доступа внутрь, скажем 3rd party компонент
Тогда зачем оборачивать его в хок? (без эджкейсов плез)
Dmitriy
вот да
Dmitriy
Тогда зачем оборачивать его в хок? (без эджкейсов плез)
верни стек не массив до сих пор орирую
Sergey
King
Тогда зачем оборачивать его в хок? (без эджкейсов плез)
Для того чего и обычно, какую нибудь общую логику применить
Sergey
Я не распарсил
Frontend Priest
парсер (не линтер)
Dmitriy
Для того чего и обычно, какую нибудь общую логику применить
Ну тогда тебе нужна обертка. Хок эта тоже компонент обертка, только менее очевидная. С хуками ты сделаешь компонент обертку как и написал только явно будет видно что где происходит
Dmitriy
Я не спорю, просто хотел указать на различия, и что не всегда 100% можно заменить одно другим 🤷‍♂️
Почему не всегда? ХОК это обертка что докидывает логики. Это по сути HOF. Все что может хок, можно сделать на кастомном хуке и даже больше. Если мне нужна обертка то я сделаю ее боле очевидной.
Assylzhan
Всем привет. Возможно но тупой вопрос, но все же. Как можно вызывать одну модалку с другого и чтоб первая закрывалась? не используя редакс
Василий
подскажите - ranger компоненту какую можно использовать ?
Сергей
Всем привет. Возможно но тупой вопрос, но все же. Как можно вызывать одну модалку с другого и чтоб первая закрывалась? не используя редакс
на пример, что бы в родительском компоненте эти две модалки были в рендере прописаны, а их видимость определялась state родителя. В модалки передать методы, которые будут "регулировать" видимость нужных окон...
Oleg
Ты пишешь логичные и правильные вещи. Тут так не принято.
тут принято советовать хранить логин-пароль в localStorage ? ))
Дима
ты же программист, а не пробрасыватель пропсов
Frontend Priest
тут принято советовать хранить логин-пароль в localStorage ? ))
И искать готовое решение для position: absolute
Дима
выходить за пределы view страшно только впервые
Андрей