在React-Native项目上使用React Fragment和TypeScript

时间:2017-12-21 10:35:53

标签: reactjs typescript react-native

我刚刚在React-Native项目上将React升级到16.2.0以使用新的Fragment语法。

我有一个现在返回类似内容的组件:

return (
  <>
    <View>...</View>
    <View>...</View>
  </>
);

TypeScript并没有抱怨语法很好,但是当我尝试运行这段代码时出现错误:

Bundling `index.js`  [development, non-minified]  45.8% (1078/1593), failed.
error: bundling failed: SyntaxError in /Users/alexmngn/Workspace/MyProject/MyComponent.tsx: /Users/alexmngn/Workspace/MyProject/MyComponent.tsx: Unexpected token (68:17)
> 68 |         return (<>
     |                  ^

似乎没有将片段语法编译回ES5。

当我尝试使用React.Fragment时,我收到了TypeScript错误:

/Users/alexmngn/Workspace/MyProject/MyComponent.tsx(1,28): error TS2305: 
Module '"/Users/alexmngn/Workspace/MyProject/node_modules/@types/react/index"' 
has no exported member 'Fragment'.

该应用不会运行并抛出错误Invariant Violation

我使用所有软件包的最新稳定版本:

  • React:16.2.0
  • React-Native:0.51.0
  • TypeScript:2.6.2
  • @ types / react:16.0.31
  • @ types / react-native:0.51.4

为了使它与React-Native一起工作,我需要做些什么吗?要编译成ES5?甚至能够使用没有Typescript抱怨的React.Fragment?似乎在类型的定义中存在类型ReactFragment但仍然会出现此错误。

由于

0 个答案:

没有答案