Вы можете обернуть свой компонент класса функциональным компонентом, который использует ловушку, а затем передать функцию getUser
в качестве опоры.
const WrapperComponent = () => {
const [getUser] = useLazyQuery(GET_USER)
return <YourClassComponent getUser={getUser}/>
}
Однако вы должны иметь в виду, что преобразование вашего функционала компонент к компоненту класса не повлияет на то, сколько раз ваш компонент отображается, если вы правильно не реализуете метод shouldComponentUpdate
или не используете PureComponent
.
Если вы хотите оптимизировать функциональный компонент вместо использования shouldComponentUpdate
, вы можете использовать React.memo
для достижения аналогичного эффекта, как показано здесь, в документе . Если у вас есть дорогостоящие вычисления для каждого рендера, которого вы пытаетесь избежать, вы также можете использовать хук useMemo
, чтобы запомнить их.