Size: a a a

React: русскоязычное сообщество

2020 July 18

A

Aleksandr in React: русскоязычное сообщество
каждый компонент должен хранить данные только для собственной отрисовки
источник

A

Aleksandr in React: русскоязычное сообщество
если нужно передать данные от родительского, то используй propsы
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Андрей Пудов
Коллеги, приветствую. Подскажите пожалуйста одну вещь ? Возник вопрос по react.js. Работаю над проектом, где необходимо подготовить верстку и стили для блоков. Сами блоки и более мелкие элементы реализованы как react-компоненты. Предполагается , что из готовых блоков можно будет собрать  страницу. Как правило каждый компонент содержит свой state , где хранятся данные , которые используются для отрисовки (например имя, должность, соц-сети юзера  или тарифы , список фич и т.д.). Я правильно понимаю, что если нужно собрать страницу из блоков должен быть какой-то один родительский компонент (например hoc), который будет содержать все компоненты , а все состояние из отдельных файлов(react-компонентов) нужно скомпоновать в один и передать его только в этот родительский компонент ? т.е. состояние должно храниться не внутри каждого отдельного компонента,  а только в родительском компоненте ? есть возможность передать состояние от родителя к потомку , если потомок отрисовывает данные беря их из состояния ? извиняюсь з
Это зависит от концепции и предпочтений.
источник

АП

Андрей Пудов... in React: русскоязычное сообщество
Aleksandr
каждый компонент должен хранить данные только для собственной отрисовки
так и есть. но блоков получается довольно много (около 120). из них хранят свое состояние большая часть. я вот и подумал может это состояние, необходимое для отрисовки нужно вынести куда-то за пределы компонента ?
источник

A

Aleksandr in React: русскоязычное сообщество
не обязательно, если нет созависимых состояний
источник

1

1N54N3 in React: русскоязычное сообщество
Как самому решать трудности с которыми приходится сталкиваться при написании сайта на реакте?
источник
2020 July 19

1

1N54N3 in React: русскоязычное сообщество
Aleksandr
ну тогда реф не подойдет
Если мне нужен элемент на первой загрузке то единственным выходом является  <Component><ComponentWithElementIneed /><Component/> ?
источник

1

1N54N3 in React: русскоязычное сообщество
react-window загружает элементы которые только нужны в области видимости?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
1N54N3
react-window загружает элементы которые только нужны в области видимости?
Отображает. Загрузку нужно отдельно делать.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
1N54N3
Как самому решать трудности с которыми приходится сталкиваться при написании сайта на реакте?
В зависимости от того, какие это трудности.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
1N54N3
Почему верстку в реакте называют UI?
Потому что реакт используется преимущественно для разработки пользовательских интерфейсов (UI).
Верстка лишь часть того, что приходится делать, когда нужно сделать UI для программы.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
1N54N3
Подскажите пожалуйста
пытаюсь написать lazyload через кастом хук, но не знаю как получить при первой загрузке реф
Что можно сделать?
Это рабочая задача, или учебная?
источник

1

1N54N3 in React: русскоязычное сообщество
Юра Чеботаев
Это рабочая задача, или учебная?
Учебная и это последнее что не могу сделать чтобы закончить проект)
источник

1

1N54N3 in React: русскоязычное сообщество
Увидел на ютубе что там создали компонент обсервер и в props.children ложили компонент за которым нужно следить, думаю также сделать
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
const Test = () => {
 const ref = React.useRef()
 React.useLayoutEffect(() => {
   console.log(ref.current)
 }, [])
 return <span ref={ref}>t</span>
}
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Примерно такой подход.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Только вместо console.log будет observer.observe(ref.current).
источник

1

1N54N3 in React: русскоязычное сообщество
Юра Чеботаев
const Test = () => {
 const ref = React.useRef()
 React.useLayoutEffect(() => {
   console.log(ref.current)
 }, [])
 return <span ref={ref}>t</span>
}
При таком подходе реф определен с 1 загрузки компонента?
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Не понимаю, что значит с загрузки.
источник

ЮЧ

Юра Чеботаев... in React: русскоязычное сообщество
Он становится определен, перед тем, как вызывается console.log(ref.current).
источник