Скажем, у меня есть простой компонент, подобный этому:
export default function Foo({someProp}) {
const a = Math.random();
return <div>{a}{someProp}</div>
}
Насколько я знаю, при обновлении someProp
React вызовет повторный рендеринг. Выполнит ли он всю функцию Foo
еще раз и переназначит const a
новое случайное значение? Будет ли значение отображаться в <div>
?
Спасибо.
Просто не было возможности в данный момент
Ответ на каждый ваш вопрос: да. Повторный рендеринг запускается, когда происходит изменение props
, как вы сказали, а также когда происходит изменение state
. При повторном рендеринге, а также при первом рендеринге все ведет себя как в обычной функции JavaScript, вплоть до назначения переменных и всего остального, за исключением некоторых вещей, связанных с React Hooks, таких как state
, сделанный с помощью useState
, ref
, сделанный с помощью useRef
...
Вы проверили это?