【问题标题】:Error while trying to render a react component for tests尝试为测试呈现反应组件时出错
【发布时间】:2021-05-16 12:26:35
【问题描述】:

我正在尝试使用来自react-test-renderer 的create 来呈现组件。这就是我想要做的事情

import { ReactTestRenderer, create} from 'react-test-renderer';
let component: ReactTestRenderer;
const createComponent = (tradingBalances: IBalance[]) => {
  component = create(<StakingContainer tradingBalances={tradingBalances} vaultBalances={mockVaultBalances} prices={mockPrices} />);
};

但我不断收到此错误:

SyntaxError: .../path/... Unexpected token, expected "," (31:41)

  29 |   let instance: ReactTestInstance;
  30 |   const createComponent = (tradingBalances: IBalance[]) => {
> 31 |     component = create(<StakingContainer tradingBalances={tradingBalances} vaultBalances={mockVaultBalances} prices={mockPrices} />);
     |                                          ^
  32 |   };

为什么?我错过了什么?

【问题讨论】:

  • 可能没有为 typescript 正确配置 jest。可能相关:stackoverflow.com/questions/57921019/…
  • @Mellet 问题是,这个配置适用于其他测试。我从另一个测试中复制了相关代码。这就是问题所在。
  • 是 .tsx 文件吗?
  • 是的,就是这样。测试是一个 ts 文件。谢谢@pmoleri,您可以添加带有解释的答案,我会选择

标签: javascript reactjs typescript react-test-renderer


【解决方案1】:

TypeScript 编译器无法识别 React 语法 (JSX)。 确保您的文件名使用.tsx 扩展名。

【讨论】:

    猜你喜欢
    • 2021-07-18
    • 1970-01-01
    • 2021-06-23
    • 2020-06-14
    • 1970-01-01
    • 2019-09-22
    • 1970-01-01
    • 2015-12-18
    • 1970-01-01
    相关资源
    最近更新 更多