reactjs - 我可以将类基础组件放在函数基础组件中以使用反应挂钩吗?
问题描述
我有一个主要使用类基础反应组件编写的应用程序,但是我们正在使用 Stripe 实现付费专区功能。
问题是条带使用钩子,它不适用于类基础组件。是否可以将子类基础组件放入父函数基础组件中以实现此目的。如果不将每个组件都重写为函数基础组件,我将如何做到这一点。
每次尝试包含具有类基子级的函数基组件总是会产生此错误:
错误:无效的挂钩调用。钩子只能在函数组件的主体内部调用。
是否有任何解决方法,或者我应该将所有组件重新编写为功能组件?
一个使用 react-router-dom 查询参数的快速示例,然后将它们传递到类基子组件中。
function useQuery() {
return new URLSearchParams(useLocation().search);
}
const App = () => {
let query = useQuery();
return (
<Provider store={store}>
<Router>
<div className="App">
<Navbar />
<Switch>
{/* Public Pages */}
<Route exact path="/" component={Landing} ref={query.get('ref')} />
</Switch>
</div>
</Router>
</Provider>
)
}
export default App;
然后假设登陆组件是一个简单的类基础组件,它将设置道具进入状态。
解决方案
组件的类型与父子关系无关。但是你不能在 classBased 组件中使用钩子。仅在功能性
推荐阅读
- javascript - Javascript - 将字符串调整为标题大小写逻辑
- javascript - 反应useEffect返回参数没有依赖
- linux - 使用 mmap 读取文件并使用 NASM x86_64 在 mmaped 文件中执行系统调用
- android - 保护基于 ionic 的 android 应用程序 android manifest 文件权限
- java - 在 Java 中,您可以在 for 循环中更改/设置变量的值吗?
- java - 获取一个二维数组并搜索一个数字,然后输出一个布尔数组
- excel - Excel:使用字典值上的通配符在 VBA 字典中搜索匹配项
- c# - 在渲染算法中计算命中点的精度不够
- amcharts - AMCharts 项目符号在小图表上转换为乱码
- javascript - 如何从 Wordpress 中的 functions.php 的外部文件运行类?