【发布时间】:2019-10-01 23:13:35
【问题描述】:
我正在自学在 React Native 中使用 TypeScript 构建应用程序。作为 Swift 开发者,JS 和 TS 需要一点时间来适应。
我注意到的一件事是,似乎不可能在 Render 方法中使用我在另一个 tsx 文件中的 tsx 文件中编写的组件。
//SomeComponent.tsx
export default class SomeComponent extends Component {
//all my logic
}
//OtherComponent.tsx
export default class ScoreTable extends Component {
//logic
render() {
<SomeComponent style={{flex: 1}}></SomeComponent>
}
}
这会给我以下错误:
Type '{ style: { flex: number; }; }' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<SomeComponent> & Readonly<{}> & Readonly<{ children?: ReactNode; }>'.
我可以通过简单地将我的 tsx SomeComponent 转换为 .js 组件来解决这个问题,但我真的很喜欢 tsx 语法。 所以我的问题是为什么我不能在其他 tsx 组件中使用 .tsx 组件?还是有其他方法可以做到这一点?
【问题讨论】:
-
如何在
OtherComponent.tsx中导入SomeComponent? -
从 '../../../Views/SomeComponent' 导入 SomeComponent。我已经看到由于在线导入错误导致的其他问题,并验证这不是这里的问题
标签: javascript typescript react-native react-tsx