【发布时间】:2021-03-26 07:28:19
【问题描述】:
我有一个 react 应用程序,我想将一个值(“groupId”)传递给主应用程序组件。
我的应用组件定义为function App()。我尝试使用以下方式传递参数值:
index.tsx:
import React from 'react';
import ReactDOM from 'react-dom';
import './scss/index.scss';
import App from './App';
const targetDivName= 'myapp-ui';
const targetDiv = document.getElementById(targetDivName);
const groupId: string = targetDiv?.getAttribute("data-group-id") ?? '';
ReactDOM.render(
<React.StrictMode>
<App groupId={ groupId } />
</React.StrictMode>,
targetDiv
);
App.tsx:
import React from "react";
import { Box } from "./components/Box";
import styles from './scss/App.module.scss';
function App(groupId: string) {
return (
<div className={ styles.orchestratorUi }>
<Box groupId={ groupId } />
</div>
);
}
export default App;
但这会产生以下错误(编译并运行):
Type '{ groupId: string; }' is not assignable to type 'string'.ts(2322)
如何通过我的 App() 将 HTML 代码中的值传递到主组件(本例中为 Box)。
【问题讨论】:
-
请记住
props是作为对象传递的,而不是单个参数。
标签: reactjs typescript create-react-app react-component