Yar
В чем не удобство количество файлов в папке?
G.
Почему?
Постоянно приходиться искать то что к компоненту относится в других папках
Yar
Ужс
Yar
Модульное деление становится хаотичным и сильносвязаным, для грамотного построения нужно иметь опыт и понимание
Volodymyr
Вопрос, если в приложение используется Redux ( любой стейт менеджер )
Не нужно же использовать Стейт для компонентов?
Александр
Александр
Или не нужно
Volodymyr
Или не нужно
Не нужно использовать Стейт нативный , если уже используешь (Какой то стейт менеджер )
Александр
Использование редакса не исключает использование локального стейта ни в коем случае
Volodymyr
Александр
Volodymyr
Чтобы было проще
ну хз, просто если подход фичерсный, почему тогда не консистентно к этому подходить ???
Просто как по мне большое колличество Стейтов ( Локальный и Менеджерский) усложняет и запутывает.
Александр
Зачем усложнять то что не требует усложнения. Есть у вас dropdown, у него стостляние открыт или закрыт, вот зачем его пихать куда-то кроме как в этот компонент? Я допускаю случай когда это может понадобится ... но это исключение будет
Volodymyr
Dimitri
Александр
Krymov 🇺🇦
Александр
В редаксе у меня только глобальное состояние приложения
Volodymyr
Volodymyr
Андрей Чайковский
Александр
Окей, благодарю. Не совсем согласен.
Тут сколько людей столько и мнений, я высказал свои аргументы, не уверен что есть единый верный подход. Я ориентируюсь на простоту, если решение простое - использую его.
Krymov 🇺🇦
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 🇺🇦
Krymov 🇺🇦
А вообще надо на хуки переходить
Volodymyr
Спасибо за советы
Александр
Спасибо за советы
Ну тогда зачем спрашивать было если и так знаете как надо
Krymov 🇺🇦
Думаю ты не нуждаешься в советах) просто чем проще и универсальней написан код, тем лучше)
Krymov 🇺🇦
На счёт мнений, у нас есть один разраб. Так вот если толерантно ко всему относится то можно было бы закрыть глаза на то что у него компоненты делятся на атомы молекулы и организмы. К чему это я? Всякую дичь надо присекать.
Krymov 🇺🇦
Denis
Всем привет! У кого-нибудь есть какие-то ресурсы по паттернам React?
Volodymyr
То что на Волыне не учат как общаться с людьми я заметил по вашему «нужному» комментарию.
Bogdan
насчет аполо, вот так запросы выглядят? прям в компоненте?? это если без хуков
Тимофей 🛴
Dmitriy
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 видимо, это уже надо логику загрузки смотреть
Александр
Зачем вы убирает то ее?
Александр
Проверку в смысле
Денис
ав
Dmitriy
Dmitriy
Dmitriy
Bogdan
есть где нормальный пример глянуть?
Vladyslav 🍉
Зачем вы убирает то ее?
Отпала надобность ее в проекте, точнее роутера спинер, везде его убрал без проблем, а тут код крошится
Александр
Ну так а как он должен вести себя?
Александр
Вы пытаетесь показать то чего нет ещё
Bogdan
Bogdan
я подозреваю что квери в компоненте такое себе