Произойдет ли повторный рендеринг, если состояние будет изменено без использования seState?
Я пытаюсь изменить состояние следующим образом,
this.state.page = 0
Я не пользуюсь setState
поскольку я не хочу, чтобы произошел Re-Render. Но все-таки повторный рендеринг происходит. Насколько мне известно, только setState вызывает Re-Render.
Пожалуйста, исправьте меня, если я ошибаюсь. А также, пожалуйста, дайте мне знать, как предотвратить повторную визуализацию при изменении состояния.
2 ответа
Присвоение значения this.state.param не будет повторно отображать экран. Вам нужно будет использовать
this.setState({param: val})
Единственное место, где вы можете присвоить значение state
это constructor
, В любом другом месте вам нужно использовать setState()
,
От react-native
doc: В общем, вы должны инициализировать состояние в конструкторе, а затем вызвать setState
когда вы хотите изменить это.
Таким образом, вы не можете изменить его с назначением, вы должны использовать setState
,