reactjs - 获取“JSX 元素类型‘App’没有任何构造或调用签名。” 导出 JSX 元素数组时出现 ts(2604) 错误
问题描述
我有一个返回 JSX 元素数组的函数。当我将其传递给ReactDOM.render
我时,我收到了上述错误。
wrappers.tsx
const FooterWithStore:React.FC = () => (
<Provider store={store}>
<FooterLangWrapper />
</Provider>
)
const AppWithStore:React.FC = () => (
<Provider store={store}>
<LangWrapper />
</Provider>
);
const WrapFooter = (WrappedComponent: React.FC) => [
<WrappedComponent key="1" />,
<FooterWithStore key="2" />
]
const App = WrapFooter(AppWithStore)
export default App
index.tsx
ReactDOM.render(
<App />,
document.getElementById('root')
);
解决方案
试试这个解决方案
const FooterWithStore:React.FC = () => (
<Provider store={store}>
<FooterLangWrapper />
</Provider>
)
const AppWithStore:React.FC = () => (
<Provider store={store}>
<LangWrapper />
</Provider>
);
const WrapFooter = (WrappedComponent: React.FC) => () => [
<WrappedComponent key="1" />,
<FooterWithStore key="2" />
]
const App = WrapFooter(AppWithStore)
export default App
您需要返回该函数,并且App
常量包含调用后形成的对象WrapFooter
。因此,您只需要使用一个闭包,以便在范围内WrappedComponent
可用。WrapFooter
推荐阅读
- python - Twitter API 发布请求——错误代码 215 错误的身份验证数据
- firebase - Firebase Auth:是否可以同时登录两台设备?
- reactjs - 使用 next.js 时出现服务器错误,错误:找不到 react-redux 上下文值;请确保组件被包裹在一个
- wordpress - 如何在 WooCommerce 中自定义产品页面
- python - 如何在 PyQt5 GUI 中运行两个无限循环?
- android - 使用 MediaRecorder 记录块时如何避免丢失帧
- python - 如何在numpy中组合两个矩阵?
- c# - SQLite/WPF - TextColumn 绑定一个新的标题文本
- node.js - 为什么我无法使用我的公共 IP 访问我的红色节点
- sharepoint - sharepoint webpart xlsx 要列出