Произойдет ли повторный рендеринг, если состояние будет изменено без использования 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,

Другие вопросы по тегам