Как работает React.createClass?

#reactjs

#reactjs

Вопрос:

 var MyComponentClass = React.createClass({
  render: function () {
    return <h1>Hello world</h1>;
  }
});

ReactDOM.render(
    <MyComponentClass />, 
    document.getElementById('app')
);
  

Итак, я следил за некоторыми руководствами по ReactJS, и мне трудно понять, что именно происходит под капотом React, особенно приведенный выше фрагмент кода.

Например, в чем именно заключается необходимость в методе рендеринга внутри метода createClass библиотеки React?

Как вызывается метод render при вызове ReactDOM.render?

Я попытался просмотреть документацию ReactJS, но столкнулся с той же проблемой, где нет объяснения того, что происходит под капотом. Попытался погуглить проблему, тот же результат. Вопросы, похоже, основаны на том, как это сделать, а не на том, что он на самом деле делает.

Даже если бы кто-нибудь мог указать мне в направлении нужной области документов, это бы мне очень помогло.

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

1. Исходный код есть, так что вы можете заглянуть под капот. Я почти уверен, что большинству людей все равно, что там происходит, поэтому четкой документации нет.

Ответ №1:

Этот документ API верхнего уровня был бы хорошим началом для начинающих.

  1. Необходимость в методе рендеринга:
    Это требуется, когда вы использовали React.createClass.
    В методе визуализации вы не можете изменять состояние компонента.
    При вызове он вернет единственный дочерний элемент (например. <div> или компонент, определенный самостоятельно)

  2. Как вызывается рендеринг:
    По умолчанию, всякий раз, когда вызывается setState, React повторно отображает все компоненты и подкомпоненты.
    Однако, если вы установите, что shouldComponentUpdate() возвращает false, метод render будет полностью пропущен.

Надеюсь, это поможет