【发布时间】:2018-04-03 06:23:33
【问题描述】:
我在尝试将 Fragments 与 React / Typescript 与 Visual Studio 2017 一起使用时遇到此错误:
NodeInvocationException: 元素类型无效:需要字符串(对于内置组件)或类/函数(对于复合组件),但得到:符号。
堆栈:
- 反应 16.3
- react-dom 16.3
- 打字稿 2.6.2
我也在用示例代码进行测试:
public render() {
return (
<>
Some text.
<h2>A heading</h2>
More text.
<h2>Another heading</h2>
Even more text.
</>
);
}
我发现了类似的问题here。在他最后的 cmets 中,Stephen Muhr 说他在没有提供太多细节的情况下更新了他的 vendor.js 包以使其工作。从他的 cmets 看来,他在升级到 react 16.2 时遇到了问题。但是,对我来说,我可以验证 react 16.3 是否成功运行(我在运行时输出 react 版本)。因此,它可能无法解决我的问题。由于我是新用户,因此无法就该问题添加到 cmets。
由于错误是服务器端错误,我想我缺少指定正确版本的打字稿的配置。我使用 npm install typescript@2.6.2 它存在于 node_modules 文件夹中。我还下载了 TypeScript SDK for 2.6.2 并安装了它。我还将项目属性设置为 Typescript 2.6(并且还尝试了“使用最新的”)。这些都没有奏效。
我不知道如何输出运行时使用的打字稿版本。
编辑 以下在我的机器上返回了不同版本的打字稿: - tsc -v 产生 2.3.5。 - npm ls -g typescript 产生 2.6.2。 - npm ls typescript 产生 2.6.2。
所以,看起来 tsc -v 已经过时了,但我不知道如何更新它。
如果有人可以就可能导致此错误的原因提供任何建议,我将不胜感激。谢谢。
【问题讨论】:
标签: reactjs typescript visual-studio-2017 typescript2.6