2015-08-24 2 views
0

Я действительно не могу понял, почему если я объявить пустой shouldComponentUpdate в компоненте, например:Пустой долженComponentUpdate работает, в противном случае нет?

shouldComponentUpdate: function(nextProps, nextState) {}, 

React автоматически не оказывает компонент при этом нет необходимости (и это прекрасно) ,

ПОКА если удалить пустую декларацию, он сделает это каждый раз ...

Я использую Immutable.js для реквизита.

ответ

4

Из документов

По умолчанию shouldComponentUpdate всегда возвращает истинное, чтобы предотвратить коварные ошибки, когда состояние мутируют в месте [...]

Если переопределить его с пустым функция, она вернет undefined, которая отлита до false, поэтому ваш компонент никогда re-renders (за исключением случая, когда forceUpdate заставит его визуализировать без проверки shouldComponentUpdate).

0

Оскар правильный, вы получаете неопределенное. Попробуйте

shouldComponentUpdate: function(nextProps, nextState) { return true; }, 
Смежные вопросы