【发布时间】:2020-11-05 18:30:24
【问题描述】:
目前我想使用 useTheme() 但作为它的钩子,我不能在类组件中使用它。但是这是我在类组件中使用它的强迫症,有人可以告诉我如何使用吗?
【问题讨论】:
标签: reactjs react-native theming
目前我想使用 useTheme() 但作为它的钩子,我不能在类组件中使用它。但是这是我在类组件中使用它的强迫症,有人可以告诉我如何使用吗?
【问题讨论】:
标签: reactjs react-native theming
如果不知道您使用的是什么库(useTheme() 不是 React 或 React Native 的一部分),很难针对您的用例做出具体回答。因为钩子只能在函数式组件中使用,所以您可以将您的类组件封装在一个组件中。例如:
class MyComponent extends React.Component {
render() {
return <p>Hello!</p>
}
}
export default function(props) {
const theme = useTheme()
return <MyComponent {...props} theme={theme}/>
}
【讨论】:
React Navigation 没有说明替代方案,但您可以将类组件包装在函数组件中并将其作为道具传递
【讨论】: