Фактически хуки сами по себе являются функциями (они позволяют вам использовать состояние и другие функции React) без написания класса. И соответственно у них нет никаких методов жизни компонента. Как componentWillMount () и т. Д.
Таким образом, одним из решений является использование хуков в качестве отдельного компонента в вашем классе. И тогда в вашем классе js у вас есть доступ квсе методы жизненного цикла. Существует метод shouldComponentUpdate (state, props). Он принимает реквизиты и состояния, и вы можете сравнить, хотите ли вы перерисовать экран или нет. Он будет вызван прямо перед визуализацией. Если возвращено «true», экран будет визуализироваться снова. иначе нет.
shouldComponentUpdate(nextProps, nextState) {
if (nextProps === this.props && nextState === this.state)
return false
else
return true
}
Ниже приведен пример использования хуков в методе рендеринга класса
import React, { useState } from 'react';
const ExampleHook = props => {
return (
<View>
<Text>Hello i am from hook</Text>
</View>
);
}
export default ExampleHook
Теперь вам нужно импортировать этот хук в вашдругой файл JS. и вы можете использовать это в методе рендеринга этого класса. Вы должны решить, основываясь на решении из функции shouldComponentUpdate ().