TGViewer
React React @react_lib · 2.66K subscribers
Post #321 604
Тайна React Element и повторные рендеры

В одной из предыдущих статей о композиции React я показал пример того, как можно повысить производительность компонента с тяжелыми операциями с состоянием, передавая ему в качестве дочерних другие компоненты вместо того, чтобы рендерить их напрямую. На эту статью поступил вопрос, который отправил меня в очередное расследование о том, как работает React, что, в свою очередь, в какой-то момент заставило меня усомниться во всем, что я знаю о React, и даже ненадолго усомниться в собственном здравомыслии.

// wrapping MovingComponent in memo to prevent it from re-rendering
const MovingComponentMemo = React.memo(MovingComponent);

const SomeOutsideComponent = () => {
// trigger re-renders here with state
const [state, setState] = useState();

return (
<MovingComponentMemo>
<!-- ChildComponent will re-render when SomeOutsideComponent re-renders -->
<ChildComponent />
</MovingComponentMemo>
)
}

https://www.developerway.com/posts/react-elements-children-parents

✍️ @React_lib
  • 👍 1
More from @react_lib
  1. Sep 30, 2026Сегодня покажу вам, как в React удобно работать с формами на базе react-hook-form. Это мой…
  2. Sep 29, 2026Как сделать loader с задержкой, чтобы не мигал? Иногда при загрузке данных хочется показат…
  3. Sep 11, 2026🚨 Избегай монолитных компонентов, которые объединяют в себе отображение, управление состо…
  4. Sep 7, 2026❌ Избегайте использования нескольких переменных состояния для отслеживания статуса. ✅ Вмес…
  5. Aug 31, 2026Сегодня написал пост на тему, которая регулярно бьёт по скорости разработки: почему React-…
  6. Aug 24, 2026❌ Избегайте «прокидывания» пропсов (prop-drilling) для расширения компонентов ✅ Вместо это…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →