Я не совсем понял, что означает
Но некоторые ограничения Hooks не позволяют использовать 'useContext'
, но в любом случае рассмотрим один из них:
Сначала попробуйте изменить styleFormat
на useStyleFormat
. таким образом вы создаете пользовательский хук, может быть, таким образом вы избежите некоторых недопустимых операций хуков.
Во-вторых, вы всегда можете объявить styleFormat
как StyleFormat
компонент, который возвращает ноль
import React, {useContext, useEffect} from 'react';
import {AppModeConsumer} from '../context/AppContext';
const StyleFormat = style => {
const mode = useContext(AppModeConsumer);
console.log('MODE:', mode);
useEffect(()=> {
if (mode === 'arabic' && style.flexDirection === 'row')
Object.assign({}, style, {flexDirection: 'row-reverse'});
}, [mode]);
return null //as for component UI presentation
}
и используйте его как обычный <StyleFormat style={somePropStyle} />