【发布时间】:2019-01-28 07:44:29
【问题描述】:
当我使用 defaultRowRenderer(react-virtualized 的方法用于表)时,jest 单元测试失败并出现错误:
...node_modules\react-virtualized\dist\es\Table\index.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){import createMultiSort from './createMultiSort';
它可以很容易地复制。 步骤:
- 使用 create-react-app 安装 typescript 应用程序
- 安装 react-virtualized 和 @types/react-virtualized
-
在App.tsx中添加简单表格
import * as React from "react"; import { Column, Index, Table } from "react-virtualized"; import { defaultRowRenderer } from "react-virtualized/dist/es/Table"; import "./App.css"; import logo from "./logo.svg"; class App extends React.Component { public render() { return ( <div className="App"> <header className="App-header"> <img src={logo} className="App-logo" alt="logo" /> <h1 className="App-title">Welcome to React</h1> </header> <p className="App-intro"> To get started, edit <code>src/App.tsx</code> and save to reload. </p> <Table style={{ outline: "none" }} height={300} width={300} headerHeight={40} rowHeight={40} rowCount={10} rowGetter={this.rowGetter} rowRenderer={this.rowRenderer} > <Column width={150} minWidth={90} label="Type" dataKey="Type" /> </Table> </div> ); } private rowGetter = (props: Index) => { return {}; }; private rowRenderer = (props: any) => { return defaultRowRenderer({ ...props, style: { ...props.style, outline: "none" } }); }; } export default App; 运行测试
有没有真正的方法可以解决这个问题?
【问题讨论】:
-
有人解决过这个问题吗?
-
我仍然使用解决方法:处理来自github.com/bvaughn/react-virtualized/blob/master/source/Table/…的函数defaultRowRenderer
-
感谢@Artem,我会尝试一下,因为目前我已经设法使用 Jest
transformIgnorePatterns修复它,以确保 react-virtualized 被 babel/webpack 转译
标签: typescript jestjs react-virtualized unexpected-token