Как React отображает элементы?

#reactjs

#reactjs

Вопрос:

Я думаю, что мой вопрос прост, и, возможно, вы можете счесть его бесполезным, но я новичок в react, поэтому прошу прощения за это. Однако, если у меня есть файл json с переводом, например, main.json в папке DE со ссылкой на изображение и другой в папке EN, который имеет те же ключи и ссылку на то же изображение. Когда я меняю язык с DE на EN, react снова отображает изображение или нет? Ключ и значение одинаковы.

Первый main.json в DE

 {
  "image":"linkToImage"
}
 

Второй main.json в EN

 {
  "image":"linkToImage"
}
 

Комментарии:

1. Что именно вы подразумеваете под When i change the language from DE to EN — что вы делаете в коде, когда это происходит?

2. Цикл рендеринга React довольно сложен и зависит от нескольких факторов с точки зрения разработки. Нам понадобится больше контекста / информации о вашем конкретном варианте использования, чтобы дать вам ответ, который вы ищете

3. Хорошо, я использую i18next для перевода своего приложения. Итак, если я хочу выполнить итерацию массива изображений с описаниями, мне нужно отправить в i18next.t() элемент для итерации и перевода тоже. Итак, если вы измените язык, это изменит перевод, а для музыки у нас есть Musik, но ссылка на изображение всегда одна и та же, так что react отображает ее снова?

Ответ №1:

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

Ресурсы: https://reactjs.org/docs/rendering-elements.html