Yar
В чем не удобство количество файлов в папке?
G.
Почему?
Постоянно приходиться искать то что к компоненту относится в других папках
Yar
Ужс
Yar
Модульное деление становится хаотичным и сильносвязаным, для грамотного построения нужно иметь опыт и понимание
Volodymyr
Вопрос, если в приложение используется Redux ( любой стейт менеджер ) Не нужно же использовать Стейт для компонентов?
Александр
Или не нужно
Volodymyr
Или не нужно
Не нужно использовать Стейт нативный , если уже используешь (Какой то стейт менеджер )
Александр
Использование редакса не исключает использование локального стейта ни в коем случае
Volodymyr
Использование редакса не исключает использование локального стейта ни в коем случае
Да , но зачем использовать стейт ? Если пришел к использованию (Стейт Менеджера) Это разве не исключающие вещи ?
Александр
Не нужно использовать Стейт нативный , если уже используешь (Какой то стейт менеджер )
Это вопрос? Если да, то ответ нет, использование стейт менеджера ни накладывает никаких ограничений на использование локального стейта
Volodymyr
Это вопрос? Если да, то ответ нет, использование стейт менеджера ни накладывает никаких ограничений на использование локального стейта
Вопрос Для чего использовать нативный стейт если используешь Стейт менеджер ?? Это именно не что бы доебаться.
Александр
Да , но зачем использовать стейт ? Если пришел к использованию (Стейт Менеджера) Это разве не исключающие вещи ?
Не исключающие. Если речь о редаксе, то зачем там хранить эфимерный стейт относящийся к конкретному компоненту, если он нигде кроме как в самом компонентуе не требуется.
Volodymyr
Чтобы было проще
ну хз, просто если подход фичерсный, почему тогда не консистентно к этому подходить ??? Просто как по мне большое колличество Стейтов ( Локальный и Менеджерский) усложняет и запутывает.
Александр
Зачем усложнять то что не требует усложнения. Есть у вас dropdown, у него стостляние открыт или закрыт, вот зачем его пихать куда-то кроме как в этот компонент? Я допускаю случай когда это может понадобится ... но это исключение будет
Dimitri
Вопрос Для чего использовать нативный стейт если используешь Стейт менеджер ?? Это именно не что бы доебаться.
Пример состояние дропбокса, как то не ок хранить его в redux, тем более, если их несколько на странице
Александр
В редаксе у меня только глобальное состояние приложения
Volodymyr
Как минимум чтобы собирать с данные с полей формы
эм, а их трудно собрать через Редакс ???
Volodymyr
Андрей Чайковский
Окей, благодарю. Не совсем согласен.
Тоже только глобальное там храню
Александр
Окей, благодарю. Не совсем согласен.
Тут сколько людей столько и мнений, я высказал свои аргументы, не уверен что есть единый верный подход. Я ориентируюсь на простоту, если решение простое - использую его.
Volodymyr
Тут сколько людей столько и мнений, я высказал свои аргументы, не уверен что есть единый верный подход. Я ориентируюсь на простоту, если решение простое - использую его.
Если от изменения Глобального стейта надо менять стейт компонента, свой локальный стейт, разве это не бойлерплейт ?
Volodymyr
Без обид. Но ты кажется не отстреливаешь зачем в реакте стейт локальный.
считаю что если у вас считать вейлью Полей формы через Редакс вызывает проблемы, то это дич. Сугубо личное мнение.
Krymov 🇺🇦
У тебя в локальном стейте могут хранится дефолтные переменные. И только после каких то манипуляций ты может подтянуть со стора данные. Всякие булевые внутри компонентные переменные. Показать не показать , активный не активный. Это все система. Не стоит использовать грузовик чтобы перевезти сумку дорожную, можно просто воспользоваться легковушкой.
Volodymyr
У тебя в локальном стейте могут хранится дефолтные переменные. И только после каких то манипуляций ты может подтянуть со стора данные. Всякие булевые внутри компонентные переменные. Показать не показать , активный не активный. Это все система. Не стоит использовать грузовик чтобы перевезти сумку дорожную, можно просто воспользоваться легковушкой.
И в случае модификации данных мне надо менять ( производить ) изменения в двух местах, в глобальном стейте, и в локальном, вместо того что бы сделать изменение в одном. Но в целом я Вас услышал и благодарю, советов в написании не требую, хотел услышать мнение со стороны.
Максим
Всем привет! Есть такой компонент: class Photo extends PureComponent { componentDidMount = () => { const { match, photoRequestAction: requestAction } = this.props; requestAction(match); }; photoLoad = (e) => { console.log("1:: ", e) const { photoImageLoadAction: imageLoadAction } = this.props; imageLoadAction(); } render() { const { isPhotoLoading, photoSrc, userPortfolioUrl, userNic, photoDesc, requestError, } = this.props; return ( <div className="photo-container photo"> { isPhotoLoading && (<Spinner className="spinner" />)} { !isPhotoLoading && !requestError && ( <Card style={{ width: '100%' }} cover={( <img className="photo__img" alt="example" src={photoSrc} onLoad={this.photoLoad} /> )} > <Meta className="photo__desc" title={`${photoDesc || 'No title'}`} /> <Link to={`/users/${userNic}`}> <p className="photo__autor-page-link"> { 'Autor\'s page link' } </p> </Link> <a className="photo__autor-link" href={userPortfolioUrl}>{ 'Autor\'s portfolio link' }</a> </Card> )} { !isPhotoLoading && requestError && ( <p> Такое фото не найдено. {' '} <Link to="/"> Перейти на главную. </Link> </p> )} </div> ); } } Мне надо, чтобы у картинки сработал метод onLoad={this.photoLoad}, но при загрузке этого компоеннта у меня происходит бесконечный спинер, поскольку он не может дождаться метода onLoad={this.photoLoad}, чтобы тот запустил экшан и редьюсер и выключил спинер. Вопрос: почему событие onLoad={this.photoLoad} не срабатывает (консоль console.log("1:: ", e) не выводится) ? И как вообще правильно делать такие вещи в реакте?
Krymov 🇺🇦
считаю что если у вас считать вейлью Полей формы через Редакс вызывает проблемы, то это дич. Сугубо личное мнение.
У меня не вызывает это проблем. Дичь это использовать не по оптимальному назначению какую либо библиотеку. И потом всем рассказывать, о крутизне использования редакса для контроля значений инпута. Вот это и есть дичь.
Volodymyr
У меня не вызывает это проблем. Дичь это использовать не по оптимальному назначению какую либо библиотеку. И потом всем рассказывать, о крутизне использования редакса для контроля значений инпута. Вот это и есть дичь.
Что если действие из вне несет за самой изменение значения инпута ? Мне надо держать в голове кажность не забыть изменить еще и глобальный стейт, на каком то хуке, это лишний бойлерплейт, если в приложении использовать "Грузовик" только для каких то нескольки глобальных вещей, надо задуматься о надобности грузовика в таком случае, и обойтись Локальным стейтом приложения.
Krymov 🇺🇦
А вообще надо на хуки переходить
Volodymyr
Смотря как напишешь) логических условий никто не отменял)
внеочередной бойлерплейт. В Общем Вас услышал, разводить базар дальше не хочу, спасибо.
Volodymyr
Спасибо за советы
Александр
Спасибо за советы
Ну тогда зачем спрашивать было если и так знаете как надо
Krymov 🇺🇦
Думаю ты не нуждаешься в советах) просто чем проще и универсальней написан код, тем лучше)
Volodymyr
Ну тогда зачем спрашивать было если и так знаете как надо
Отвечал выше, хотел услышать мнение людей. И я не говорю как надо или нет, сколько людей столько и мнений. Всего доброго
Volodymyr
Думаю ты не нуждаешься в советах) просто чем проще и универсальней написан код, тем лучше)
1) на ты не переходили 2) вопрос был зада с конкретикой, не как писать а да или нет, и почему да или почему нет. 3) если был не корректно задан вопрос, прошу простить, впредь буду задавать разборчивее.
Krymov 🇺🇦
На счёт мнений, у нас есть один разраб. Так вот если толерантно ко всему относится то можно было бы закрыть глаза на то что у него компоненты делятся на атомы молекулы и организмы. К чему это я? Всякую дичь надо присекать.
Volodymyr
Ок, прошу меня простить. Я не увидел что вы подписаны именем и отчеством )
Я учтиво к вам обращался на Вы, не нужно из вышесказанного высасывать проблему, к которой привЯзывать, как кто подписан, всего вам доброго
Krymov 🇺🇦
Я учтиво к вам обращался на Вы, не нужно из вышесказанного высасывать проблему, к которой привЯзывать, как кто подписан, всего вам доброго
Не обижайтесь. Просто сразу заметно, что когда Вы спрашиваете и хотите услышать ответ, то абсолютно Вам пофиг на ответ, сразу же высказываете свой контраргумент.
Denis
Всем привет! У кого-нибудь есть какие-то ресурсы по паттернам React?
Volodymyr
Не обижайтесь. Просто сразу заметно, что когда Вы спрашиваете и хотите услышать ответ, то абсолютно Вам пофиг на ответ, сразу же высказываете свой контраргумент.
Писал в ответах выше, мои контр аргументы не что бы прицепиться к вашим, или указать на неправильность. А дабы было мнение человека который задаёт вопрос, а не мнение что нет первого решения и дайте ответы на мою задачу, в здравом обсуждении приходит истина.
Volodymyr
То что на Волыне не учат как общаться с людьми я заметил по вашему «нужному» комментарию.
Bogdan
насчет аполо, вот так запросы выглядят? прям в компоненте?? это если без хуков
Тимофей 🛴
насчет аполо, вот так запросы выглядят? прям в компоненте?? это если без хуков
Лучше в отдельную константу и квери компонент в отдельный компонент
Александр
Бери хуки сразу
А ssr в аполло работает с хуками?
Dmitriy
А ssr в аполло работает с хуками?
Официальных хуков от аполо нема, но тип что их спилил вот https://github.com/trojanowski/react-apollo-hooks/blob/master/README.md#server-side-rendering
Александр
Просто там же они обходили дерево чтобы найти Query элементы, вытянуть данные и запихнуть обратно. А как они разрулили ssr с хуками было бы интересно узнать
Vladyslav 🍉
Может кто помочь с логикой, эм в общем сверху строчка кода, спинер виде загрузочного экрана больше не нужен, но только убираю ее код крошится, при том что до этого все прекрасно, больше условие нигде не определено
Vladyslav 🍉
Vladyslav 🍉
Тимофей 🛴
А ты прочитай внимательно текст ошибки
Александр
Пишет же в чем проблема
Vladyslav 🍉
Map?
amzp
ребята подскажите к примеру у меня есть две кнопки а и б кнопка б может узнать какой стейт у кнопки а? react + redux
Александр
Cannot read property map of undefined
Александр
post.comments у вас undefined
Vladyslav 🍉
post.comments у вас undefined
Это понятно, но почему выскакивает, как только я логику сверху убираю, простите если туплю 2 сутки не сплю
Александр
Ну потому что пока loading false то нет comments у post видимо, это уже надо логику загрузки смотреть
Александр
Зачем вы убирает то ее?
Александр
Проверку в смысле
Денис
ав
Bogdan
Лучше в отдельную константу и квери компонент в отдельный компонент
не понял структуру, сам квери вынести из копонента? а где их хранить?
Bogdan
есть где нормальный пример глянуть?
Vladyslav 🍉
Зачем вы убирает то ее?
Отпала надобность ее в проекте, точнее роутера спинер, везде его убрал без проблем, а тут код крошится
Александр
Ну так а как он должен вести себя?
Александр
Вы пытаетесь показать то чего нет ещё
Volodymyr
Отпала надобность ее в проекте, точнее роутера спинер, везде его убрал без проблем, а тут код крошится
уберите проверку на спинер, а оставьте проверку на то что post.comments. и если они есть показываете компонент, если нет то пустота
Dmitriy
есть где нормальный пример глянуть?
Дам универсальный совет. Когда узнаешь либу, то гуглишь ее использование на гмтхабе, выбираешь нормальный проект и смотришь внутрь
Bogdan
я подозреваю что квери в компоненте такое себе