Статьи / JavaScript / Reactjs (документация, руководство, примеры, flux) / Справочник (Reference)


DOM различия (DOM Differences)

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

- Все свойства DOM и атрибуты (в том числе обработчики событий) должны иметь верблюжью нотацию (camelCased) в соответствие со стандартным стилем JavaScript. Мы намеренно сломали спецификацию здесь т.к. она является противоречивой. Тем не менее, data-* и aria-* атрибуты соответствуют спецификации и должны быть только в нижнем регистре.

- style атрибут принимает объект JavaScript с camelCased свойствами, а не CSS строками. Это согласуется с style свойством в DOM, является более эффективным, а также предотвращает дыры в безопасности XSS.

- Все объекты событий соответствуют W3C спецификации, и все события (в том числе submit) всплывают правильно в соответствии с W3C спецификацией. См. Система событий для более подробной информации.

- onChange событие ведет себя как вы того ожидаете: всякий раз, когда поле формы изменяется это событие срабатывает, а не тогда, когда срабатывает blur. Мы намеренно вырываемся из существующего поведения браузера, потому что onChange является неправильным для его поведения и React зависит от этого события потому что реагирует на действия пользователя в режиме реального времени. См. Forms для более подробной информации.

- атрибуты формы, такие как value и checked, а также textarea. Подробности тут.