Я новичок реагировать и, проходя через учебники, я нашел это,Если функции рендеринга должны быть чистыми, то как представление может быть изменено в зависимости от состояния?
- «Рендер() функция должна быть чистой, а это означает, что она не изменяет состояние компонента, она возвращает тот же результат каждый раз это вызывается, и он не взаимодействует напрямую с браузером ». - https://facebook.github.io/react/docs/react-component.html#reference
Я немного смущен этим. Если функция рендеринга должна возвращать одинаковый результат каждый раз, как я могу изменить отображение на основе состояний?
Например, у меня есть текст с кнопкой редактирования. Когда я нажимаю на редактирование, текстовое поле должно появляться с текстом и изменять изменения кнопки для сохранения.
Я думаю, что рендер является функцией компонента вида mvc. Модель и контроллер можно модифицировать с помощью флюса или редукции. Короче: Начните с состояния по умолчанию/Model => дайте представление состояние и состояние генерирует html => пользователь щелкает что-то, поэтому view создает действие => действие обрабатывается хранилищем (flux/redux), а обработчик действий возвращает новое состояние => новое state дается view => ... – HMR
Функция рендеринга всегда должна возвращать тот же результат для состояния * current *. Функция рендеринга в основном является функцией, которая принимает текущее состояние как аргумент (и на самом деле это то, что делают компоненты без гражданства). –
http://www.slideshare.net/nikgraf/react-redux-introduction slide 33 – HMR