我在尝试使用react/tyscript与Visual Studio 2017使用React/Typescript的片段时遇到此错误:
NodeInvocationException:元素类型无效:预期字符串(用于内置组件(或类/函数(用于复合组件(,但Got:symble。
。堆栈:
- React 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.
</>
);
}
我在这里发现了类似的问题。斯蒂芬·穆尔(Stephen Muhr(在他的最后一篇评论中说,他更新了他的供应商。从他的评论中,听起来他升级为16.2的升级问题。但是,对我来说,我可以验证React 16.3正在成功运行(我在运行时输出React版本(。因此,它可能无法解决我的问题。由于我是新用户,我无法对该问题进行评论。
由于该错误是服务器端错误,因此我认为我缺少指定正确版本的打字稿的配置。我使用了NPM intern typescript@2.6.2,它存在于node_modules文件夹中。我还以2.6.2下载了TypeScript SDK并安装了它。我还将项目属性设置为Typescript 2.6(并且也尝试过"使用最新"(。这些都没有工作。
我无法弄清楚如何输出运行时使用的打字稿版本。
编辑以下我的计算机上返回了不同版本的打字稿: - TSC -V 产生2.3.5。 - NPM LS -G打字稿产生2.6.2。 - NPM LS打字稿产生2.6.2。
所以,看起来TSC -V已过时,但我不知道如何更新它。
如果有人可以就可能导致此错误的原因提出任何建议,我将不胜感激。谢谢。
在您的问题中,您提到您的全局tsc
在2.3.5版中。如您提到的,片段得到了2.6的支持。
您可以使用npm install -g typescript@2.6.2
在全局范围内更新tsc
。但是,如果您正在从Visual Studio命令提示符中运行命令,则它将从SDK文件夹中获取tsc
。打字稿应安装在: C:Program Files (x86)Microsoft SDKsTypeScript
。
如果您使用的是.csproj。您还可以查看项目文件并查看Typescript的版本,它将在TypeScriptToolsVersion
下。