React版Ant Design 4.5.4中Table动态获取数据(React)
<div data-cke-filler-webkit="start" data-cke-temp="1"> </div><div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="0">
<pre class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="codeSnippet" data-cke-widget-data="{&quot;classes&quot;:[],&quot;lang&quot;:&quot;javascript&quot;,&quot;code&quot;:&quot;import React from 'react'\nimport { Row, Col, Space, Table, Button, notification, Pagination } from 'antd';\nimport axios from 'axios'\n\nexport default class TableCom extends React.Component {\nstate = {\n tableData: [],\n selectedRowKeys: [], // Check here to configure the default column\n total: 30, // for Pagination\n columns: [\n {\n title: 'ID',\n dataIndex: 'id',\n width: 30,\n },\n {\n title: '标题',\n dataIndex: 'title',\n width: 500,\n },\n {\n title: '内容',\n dataIndex: 'content'\n },\n ]\n};\n\nhandleDeleteArticle(){\n if(this.state.selectedRowKeys.length === 0){\n notification['error']({\n message: '错误提示',\n description:\n '请选择要删除的内容!',\n });\n }else{\n notification['success']({\n message: '正确提示',\n description:\n `将要删除${JSON.stringify(this.state.selectedRowKeys)}`,\n });\n }\n}\n\nonSelectChange = selectedRowKeys =&gt; {\n console.log('selectedRowKeys changed: ', selectedRowKeys);\n this.setState({ selectedRowKeys });\n};\n\n// 获取表格数据\ngetData(pageNumber, pageSize) {\n axios.get(`/article/all/?pageSize=${pageSize}&amp;pageNumber=${pageNumber}&amp;sortName=id&amp;sortOrder=desc&amp;_=1595230808893`).then((resp) =&gt; {\n console.log(\&quot;all data:\&quot;);\n console.log(resp);\n let ajaxData = [];\n for (let i = 0; i &lt; resp.data.rows.length; i++) {\n ajaxData.push({\n key: resp.data.rows.id,\n id: resp.data.rows.id,\n title: resp.data.rows.title,\n content: resp.data.rows.content,\n });\n }\n\n this.setState({\n tableData: ajaxData,\n total: resp.data.total\n })\n\n }, (err) =&gt; {\n console.log(err);\n });\n}\n\nonChange = (pageNumber, pageSize) =&gt; {\n this.getData(pageNumber, pageSize);\n};\n\ncomponentDidMount() {\n this.getData(1, 10);\n}\n\nrender() {\n const { selectedRowKeys } = this.state;\n\n const rowSelection = {\n selectedRowKeys,\n onChange: this.onSelectChange\n };\n\n return (&lt;&gt;\n &lt;Row style={{paddingBottom: 15}}&gt;\n &lt;Col span={24}&gt;&lt;Space size=\&quot;small\&quot;&gt;&lt;Button type=\&quot;primary\&quot; ghost&gt;添加&lt;/Button&gt;&lt;Button type=\&quot;primary\&quot; ghost onClick={()=&gt;this.handleDeleteArticle()}&gt;删除&lt;/Button&gt;&lt;/Space&gt;&lt;/Col&gt;\n &lt;/Row&gt;\n &lt;Row&gt;\n &lt;Col span={24}&gt;\n &lt;Table columns={this.state.columns} dataSource={this.state.tableData} rowSelection={rowSelection} pagination={false} bordered\n onRow={record =&gt; {\n return {\n onClick: event =&gt; { console.log(record) },\n onDoubleClick: event =&gt; { console.log(event) }\n }\n }}\n &gt;\n &lt;/Table&gt;\n &lt;div style={{ height: 15 }}&gt;&lt;/div&gt;\n &lt;Pagination\n total={this.state.total}\n showSizeChanger\n showQuickJumper\n showTotal={total =&gt; `共 ${total} 条`}\n onChange={this.onChange}\n /&gt;\n &lt;/Col&gt;\n &lt;/Row&gt;\n &lt;/&gt;);\n}\n}&quot;}"><code class="hljs language-javascript"><span class="hljs-keyword">import React <span class="hljs-keyword">from <span class="hljs-string">'react'
<span class="hljs-keyword">import { Row, Col, Space, Table, Button, notification, Pagination } <span class="hljs-keyword">from <span class="hljs-string">'antd';
<span class="hljs-keyword">import axios <span class="hljs-keyword">from <span class="hljs-string">'axios'
<span class="hljs-keyword">export <span class="hljs-keyword">default <span class="hljs-class"><span class="hljs-keyword">class <span class="hljs-title">TableCom <span class="hljs-keyword">extends <span class="hljs-title">React.<span class="hljs-title">Component {
state = {
<span class="hljs-attr">tableData: [],
<span class="hljs-attr">selectedRowKeys: [], <span class="hljs-comment">// Check here to configure the default column
total: <span class="hljs-number">30, <span class="hljs-comment">// for Pagination
columns: [
{
<span class="hljs-attr">title: <span class="hljs-string">'ID',
<span class="hljs-attr">dataIndex: <span class="hljs-string">'id',
<span class="hljs-attr">width: <span class="hljs-number">30,
},
{
<span class="hljs-attr">title: <span class="hljs-string">'标题',
<span class="hljs-attr">dataIndex: <span class="hljs-string">'title',
<span class="hljs-attr">width: <span class="hljs-number">500,
},
{
<span class="hljs-attr">title: <span class="hljs-string">'内容',
<span class="hljs-attr">dataIndex: <span class="hljs-string">'content'
},
]
};
handleDeleteArticle(){
<span class="hljs-keyword">if(<span class="hljs-keyword">this.state.selectedRowKeys.length === <span class="hljs-number">0){
notification[<span class="hljs-string">'error']({
<span class="hljs-attr">message: <span class="hljs-string">'错误提示',
<span class="hljs-attr">description:
<span class="hljs-string">'请选择要删除的内容!',
});
}<span class="hljs-keyword">else{
notification[<span class="hljs-string">'success']({
<span class="hljs-attr">message: <span class="hljs-string">'正确提示',
<span class="hljs-attr">description:
<span class="hljs-string">`将要删除<span class="hljs-subst">${<span class="hljs-built_in">JSON.stringify(<span class="hljs-keyword">this.state.selectedRowKeys)}`,
});
}
}
onSelectChange = <span class="hljs-function"><span class="hljs-params">selectedRowKeys => {
<span class="hljs-built_in">console.log(<span class="hljs-string">'selectedRowKeys changed: ', selectedRowKeys);
<span class="hljs-keyword">this.setState({ selectedRowKeys });
};
<span class="hljs-comment">// 获取表格数据
getData(pageNumber, pageSize) {
axios.get(<span class="hljs-string">`/article/all/?pageSize=<span class="hljs-subst">${pageSize}&pageNumber=<span class="hljs-subst">${pageNumber}&sortName=id&sortOrder=desc&_=1595230808893`).then(<span class="hljs-function">(<span class="hljs-params">resp) => {
<span class="hljs-built_in">console.log(<span class="hljs-string">"all data:");
<span class="hljs-built_in">console.log(resp);
<span class="hljs-keyword">let ajaxData = [];
<span class="hljs-keyword">for (<span class="hljs-keyword">let i = <span class="hljs-number">0; i < resp.data.rows.length; i++) {
ajaxData.push({
<span class="hljs-attr">key: resp.data.rows.id,
<span class="hljs-attr">id: resp.data.rows.id,
<span class="hljs-attr">title: resp.data.rows.title,
<span class="hljs-attr">content: resp.data.rows.content,
});
}
<span class="hljs-keyword">this.setState({
<span class="hljs-attr">tableData: ajaxData,
<span class="hljs-attr">total: resp.data.total
})
}, (err) => {
<span class="hljs-built_in">console.log(err);
});
}
onChange = <span class="hljs-function">(<span class="hljs-params">pageNumber, pageSize) => {
<span class="hljs-keyword">this.getData(pageNumber, pageSize);
};
componentDidMount() {
<span class="hljs-keyword">this.getData(<span class="hljs-number">1, <span class="hljs-number">10);
}
render() {
<span class="hljs-keyword">const { selectedRowKeys } = <span class="hljs-keyword">this.state;
<span class="hljs-keyword">const rowSelection = {
selectedRowKeys,
<span class="hljs-attr">onChange: <span class="hljs-keyword">this.onSelectChange
};
<span class="hljs-keyword">return (<>
<Row style={{paddingBottom: 15}}>
<Col span={24}><Space size="small"><Button type="primary" ghost>添加</Button><Button type="primary" ghost onClick={()=>this.handleDeleteArticle()}>删除</Button></Space></Col>
</Row>
<Row>
<Col span={24}>
<Table columns={this.state.columns} dataSource={this.state.tableData} rowSelection={rowSelection} pagination={false} bordered
onRow={record => {
return {
onClick: event => { console.log(record) },
onDoubleClick: event => { console.log(event) }
}
}}
>
</Table>
<div style={{ height: 15 }}></div>
<Pagination
total={this.state.total}
showSizeChanger
showQuickJumper
showTotal={total => `共 ${total} 条`}
onChange={this.onChange}
/>
</Col>
</Row>
</>);
}
}</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<span class="cke_reset cke_widget_drag_handler_container"><img width="15" height="15" class="cke_reset cke_widget_drag_handler lazyload" title="点击并拖拽以移动" data-cke-widget-drag-handler="1" data-src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></span></div>
<p>其中:package.json</p>
<div class="cke_widget_wrapper cke_widget_block cke_widget_codeSnippet cke_widget_selected" data-cke-widget-wrapper="1" data-cke-filter="off" data-cke-display-name="代码段" data-cke-widget-id="1">
<pre class="cke_widget_element" data-cke-widget-keep-attr="0" data-widget="codeSnippet" data-cke-widget-data="{&quot;classes&quot;:[],&quot;lang&quot;:&quot;javascript&quot;,&quot;code&quot;:&quot;{\n\&quot;name\&quot;: \&quot;antd-demo\&quot;,\n\&quot;version\&quot;: \&quot;0.1.0\&quot;,\n\&quot;private\&quot;: true,\n\&quot;dependencies\&quot;: {\n \&quot;@ant-design/icons\&quot;: \&quot;^4.2.1\&quot;,\n \&quot;@babel/core\&quot;: \&quot;7.9.0\&quot;,\n \&quot;@svgr/webpack\&quot;: \&quot;4.3.3\&quot;,\n \&quot;@testing-library/jest-dom\&quot;: \&quot;^4.2.4\&quot;,\n \&quot;@testing-library/react\&quot;: \&quot;^9.3.2\&quot;,\n \&quot;@testing-library/user-event\&quot;: \&quot;^7.1.2\&quot;,\n \&quot;@typescript-eslint/eslint-plugin\&quot;: \&quot;^2.10.0\&quot;,\n \&quot;@typescript-eslint/parser\&quot;: \&quot;^2.10.0\&quot;,\n \&quot;antd\&quot;: \&quot;^4.4.1\&quot;,\n \&quot;axios\&quot;: \&quot;^0.19.2\&quot;,\n \&quot;babel-eslint\&quot;: \&quot;10.1.0\&quot;,\n \&quot;babel-jest\&quot;: \&quot;^24.9.0\&quot;,\n \&quot;babel-loader\&quot;: \&quot;8.1.0\&quot;,\n \&quot;babel-plugin-named-asset-import\&quot;: \&quot;^0.3.6\&quot;,\n \&quot;babel-preset-react-app\&quot;: \&quot;^9.1.2\&quot;,\n \&quot;bootstrap\&quot;: \&quot;^3.3.7\&quot;,\n \&quot;bootstrap-table\&quot;: \&quot;^1.11.1\&quot;,\n \&quot;bootstrapvalidator\&quot;: \&quot;^0.5.4\&quot;,\n \&quot;camelcase\&quot;: \&quot;^5.3.1\&quot;,\n \&quot;case-sensitive-paths-webpack-plugin\&quot;: \&quot;2.3.0\&quot;,\n \&quot;css-loader\&quot;: \&quot;3.4.2\&quot;,\n \&quot;dotenv\&quot;: \&quot;8.2.0\&quot;,\n \&quot;dotenv-expand\&quot;: \&quot;5.1.0\&quot;,\n \&quot;eslint\&quot;: \&quot;^6.6.0\&quot;,\n \&quot;eslint-config-react-app\&quot;: \&quot;^5.2.1\&quot;,\n \&quot;eslint-loader\&quot;: \&quot;3.0.3\&quot;,\n \&quot;eslint-plugin-flowtype\&quot;: \&quot;4.6.0\&quot;,\n \&quot;eslint-plugin-import\&quot;: \&quot;2.20.1\&quot;,\n \&quot;eslint-plugin-jsx-a11y\&quot;: \&quot;6.2.3\&quot;,\n \&quot;eslint-plugin-react\&quot;: \&quot;7.19.0\&quot;,\n \&quot;eslint-plugin-react-hooks\&quot;: \&quot;^1.6.1\&quot;,\n \&quot;file-loader\&quot;: \&quot;4.3.0\&quot;,\n \&quot;fs-extra\&quot;: \&quot;^8.1.0\&quot;,\n \&quot;html-webpack-plugin\&quot;: \&quot;4.0.0-beta.11\&quot;,\n \&quot;identity-obj-proxy\&quot;: \&quot;3.0.0\&quot;,\n \&quot;jest\&quot;: \&quot;24.9.0\&quot;,\n \&quot;jest-environment-jsdom-fourteen\&quot;: \&quot;1.0.1\&quot;,\n \&quot;jest-resolve\&quot;: \&quot;24.9.0\&quot;,\n \&quot;jest-watch-typeahead\&quot;: \&quot;0.4.2\&quot;,\n \&quot;jquery\&quot;: \&quot;^3.3.1\&quot;,\n \&quot;mini-css-extract-plugin\&quot;: \&quot;0.9.0\&quot;,\n \&quot;optimize-css-assets-webpack-plugin\&quot;: \&quot;5.0.3\&quot;,\n \&quot;pnp-webpack-plugin\&quot;: \&quot;1.6.4\&quot;,\n \&quot;postcss-flexbugs-fixes\&quot;: \&quot;4.1.0\&quot;,\n \&quot;postcss-loader\&quot;: \&quot;3.0.0\&quot;,\n \&quot;postcss-normalize\&quot;: \&quot;8.0.1\&quot;,\n \&quot;postcss-preset-env\&quot;: \&quot;6.7.0\&quot;,\n \&quot;postcss-safe-parser\&quot;: \&quot;4.0.1\&quot;,\n \&quot;react\&quot;: \&quot;^16.13.1\&quot;,\n \&quot;react-app-polyfill\&quot;: \&quot;^1.0.6\&quot;,\n \&quot;react-dev-utils\&quot;: \&quot;^10.2.1\&quot;,\n \&quot;react-dom\&quot;: \&quot;^16.13.1\&quot;,\n \&quot;react-router\&quot;: \&quot;^4.2.0\&quot;,\n \&quot;react-router-dom\&quot;: \&quot;^4.2.0\&quot;,\n \&quot;react-transition-group\&quot;: \&quot;^4.4.1\&quot;,\n \&quot;resolve\&quot;: \&quot;1.15.0\&quot;,\n \&quot;resolve-url-loader\&quot;: \&quot;3.1.1\&quot;,\n \&quot;sass-loader\&quot;: \&quot;8.0.2\&quot;,\n \&quot;semver\&quot;: \&quot;6.3.0\&quot;,\n \&quot;style-loader\&quot;: \&quot;0.23.1\&quot;,\n \&quot;terser-webpack-plugin\&quot;: \&quot;2.3.5\&quot;,\n \&quot;ts-pnp\&quot;: \&quot;1.1.6\&quot;,\n \&quot;url-loader\&quot;: \&quot;2.3.0\&quot;,\n \&quot;webpack\&quot;: \&quot;4.42.0\&quot;,\n \&quot;webpack-dev-server\&quot;: \&quot;3.10.3\&quot;,\n \&quot;webpack-manifest-plugin\&quot;: \&quot;2.2.0\&quot;,\n \&quot;workbox-webpack-plugin\&quot;: \&quot;4.3.1\&quot;,\n \&quot;ztree\&quot;: \&quot;^3.5.24\&quot;\n},\n\&quot;scripts\&quot;: {\n \&quot;start\&quot;: \&quot;node scripts/start.js\&quot;,\n \&quot;build\&quot;: \&quot;node scripts/build.js\&quot;,\n \&quot;test\&quot;: \&quot;node scripts/test.js\&quot;\n},\n\&quot;eslintConfig\&quot;: {\n \&quot;extends\&quot;: \&quot;react-app\&quot;\n},\n\&quot;proxy\&quot;: \&quot;http://localhost:9999\&quot;,\n\&quot;homepage\&quot;: \&quot;.\&quot;,\n\&quot;browserslist\&quot;: {\n \&quot;production\&quot;: [\n \&quot;&gt;0.2%\&quot;,\n \&quot;not dead\&quot;,\n \&quot;not op_mini all\&quot;\n ],\n \&quot;development\&quot;: [\n \&quot;last 1 chrome version\&quot;,\n \&quot;last 1 firefox version\&quot;,\n \&quot;last 1 safari version\&quot;\n ]\n},\n\&quot;jest\&quot;: {\n \&quot;roots\&quot;: [\n \&quot;&lt;rootDir&gt;/src\&quot;\n ],\n \&quot;collectCoverageFrom\&quot;: [\n \&quot;src/**/*.{js,jsx,ts,tsx}\&quot;,\n \&quot;!src/**/*.d.ts\&quot;\n ],\n \&quot;setupFiles\&quot;: [\n \&quot;react-app-polyfill/jsdom\&quot;\n ],\n \&quot;setupFilesAfterEnv\&quot;: [\n \&quot;&lt;rootDir&gt;/src/setupTests.js\&quot;\n ],\n \&quot;testMatch\&quot;: [\n \&quot;&lt;rootDir&gt;/src/**/__tests__/**/*.{js,jsx,ts,tsx}\&quot;,\n \&quot;&lt;rootDir&gt;/src/**/*.{spec,test}.{js,jsx,ts,tsx}\&quot;\n ],\n \&quot;testEnvironment\&quot;: \&quot;jest-environment-jsdom-fourteen\&quot;,\n \&quot;transform\&quot;: {\n \&quot;^.+\\\\.(js|jsx|ts|tsx)$\&quot;: \&quot;&lt;rootDir&gt;/node_modules/babel-jest\&quot;,\n \&quot;^.+\\\\.css$\&quot;: \&quot;&lt;rootDir&gt;/config/jest/cssTransform.js\&quot;,\n \&quot;^(?!.*\\\\.(js|jsx|ts|tsx|css|json)$)\&quot;: \&quot;&lt;rootDir&gt;/config/jest/fileTransform.js\&quot;\n },\n \&quot;transformIgnorePatterns\&quot;: [\n \&quot;[/\\\\\\\\]node_modules[/\\\\\\\\].+\\\\.(js|jsx|ts|tsx)$\&quot;,\n \&quot;^.+\\\\.module\\\\.(css|sass|scss)$\&quot;\n ],\n \&quot;modulePaths\&quot;: [],\n \&quot;moduleNameMapper\&quot;: {\n \&quot;^react-native$\&quot;: \&quot;react-native-web\&quot;,\n \&quot;^.+\\\\.module\\\\.(css|sass|scss)$\&quot;: \&quot;identity-obj-proxy\&quot;\n },\n \&quot;moduleFileExtensions\&quot;: [\n \&quot;web.js\&quot;,\n \&quot;js\&quot;,\n \&quot;web.ts\&quot;,\n \&quot;ts\&quot;,\n \&quot;web.tsx\&quot;,\n \&quot;tsx\&quot;,\n \&quot;json\&quot;,\n \&quot;web.jsx\&quot;,\n \&quot;jsx\&quot;,\n \&quot;node\&quot;\n ],\n \&quot;watchPlugins\&quot;: [\n \&quot;jest-watch-typeahead/filename\&quot;,\n \&quot;jest-watch-typeahead/testname\&quot;\n ]\n},\n\&quot;babel\&quot;: {\n \&quot;presets\&quot;: [\n \&quot;react-app\&quot;\n ]\n}\n}\n&quot;}"><code class="hljs language-javascript">{
<span class="hljs-string">"name": <span class="hljs-string">"antd-demo",
<span class="hljs-string">"version": <span class="hljs-string">"0.1.0",
<span class="hljs-string">"private": <span class="hljs-literal">true,
<span class="hljs-string">"dependencies": {
<span class="hljs-string">"@ant-design/icons": <span class="hljs-string">"^4.2.1",
<span class="hljs-string">"@babel/core": <span class="hljs-string">"7.9.0",
<span class="hljs-string">"@svgr/webpack": <span class="hljs-string">"4.3.3",
<span class="hljs-string">"@testing-library/jest-dom": <span class="hljs-string">"^4.2.4",
<span class="hljs-string">"@testing-library/react": <span class="hljs-string">"^9.3.2",
<span class="hljs-string">"@testing-library/user-event": <span class="hljs-string">"^7.1.2",
<span class="hljs-string">"@typescript-eslint/eslint-plugin": <span class="hljs-string">"^2.10.0",
<span class="hljs-string">"@typescript-eslint/parser": <span class="hljs-string">"^2.10.0",
<span class="hljs-string">"antd": <span class="hljs-string">"^4.4.1",
<span class="hljs-string">"axios": <span class="hljs-string">"^0.19.2",
<span class="hljs-string">"babel-eslint": <span class="hljs-string">"10.1.0",
<span class="hljs-string">"babel-jest": <span class="hljs-string">"^24.9.0",
<span class="hljs-string">"babel-loader": <span class="hljs-string">"8.1.0",
<span class="hljs-string">"babel-plugin-named-asset-import": <span class="hljs-string">"^0.3.6",
<span class="hljs-string">"babel-preset-react-app": <span class="hljs-string">"^9.1.2",
<span class="hljs-string">"bootstrap": <span class="hljs-string">"^3.3.7",
<span class="hljs-string">"bootstrap-table": <span class="hljs-string">"^1.11.1",
<span class="hljs-string">"bootstrapvalidator": <span class="hljs-string">"^0.5.4",
<span class="hljs-string">"camelcase": <span class="hljs-string">"^5.3.1",
<span class="hljs-string">"case-sensitive-paths-webpack-plugin": <span class="hljs-string">"2.3.0",
<span class="hljs-string">"css-loader": <span class="hljs-string">"3.4.2",
<span class="hljs-string">"dotenv": <span class="hljs-string">"8.2.0",
<span class="hljs-string">"dotenv-expand": <span class="hljs-string">"5.1.0",
<span class="hljs-string">"eslint": <span class="hljs-string">"^6.6.0",
<span class="hljs-string">"eslint-config-react-app": <span class="hljs-string">"^5.2.1",
<span class="hljs-string">"eslint-loader": <span class="hljs-string">"3.0.3",
<span class="hljs-string">"eslint-plugin-flowtype": <span class="hljs-string">"4.6.0",
<span class="hljs-string">"eslint-plugin-import": <span class="hljs-string">"2.20.1",
<span class="hljs-string">"eslint-plugin-jsx-a11y": <span class="hljs-string">"6.2.3",
<span class="hljs-string">"eslint-plugin-react": <span class="hljs-string">"7.19.0",
<span class="hljs-string">"eslint-plugin-react-hooks": <span class="hljs-string">"^1.6.1",
<span class="hljs-string">"file-loader": <span class="hljs-string">"4.3.0",
<span class="hljs-string">"fs-extra": <span class="hljs-string">"^8.1.0",
<span class="hljs-string">"html-webpack-plugin": <span class="hljs-string">"4.0.0-beta.11",
<span class="hljs-string">"identity-obj-proxy": <span class="hljs-string">"3.0.0",
<span class="hljs-string">"jest": <span class="hljs-string">"24.9.0",
<span class="hljs-string">"jest-environment-jsdom-fourteen": <span class="hljs-string">"1.0.1",
<span class="hljs-string">"jest-resolve": <span class="hljs-string">"24.9.0",
<span class="hljs-string">"jest-watch-typeahead": <span class="hljs-string">"0.4.2",
<span class="hljs-string">"jquery": <span class="hljs-string">"^3.3.1",
<span class="hljs-string">"mini-css-extract-plugin": <span class="hljs-string">"0.9.0",
<span class="hljs-string">"optimize-css-assets-webpack-plugin": <span class="hljs-string">"5.0.3",
<span class="hljs-string">"pnp-webpack-plugin": <span class="hljs-string">"1.6.4",
<span class="hljs-string">"postcss-flexbugs-fixes": <span class="hljs-string">"4.1.0",
<span class="hljs-string">"postcss-loader": <span class="hljs-string">"3.0.0",
<span class="hljs-string">"postcss-normalize": <span class="hljs-string">"8.0.1",
<span class="hljs-string">"postcss-preset-env": <span class="hljs-string">"6.7.0",
<span class="hljs-string">"postcss-safe-parser": <span class="hljs-string">"4.0.1",
<span class="hljs-string">"react": <span class="hljs-string">"^16.13.1",
<span class="hljs-string">"react-app-polyfill": <span class="hljs-string">"^1.0.6",
<span class="hljs-string">"react-dev-utils": <span class="hljs-string">"^10.2.1",
<span class="hljs-string">"react-dom": <span class="hljs-string">"^16.13.1",
<span class="hljs-string">"react-router": <span class="hljs-string">"^4.2.0",
<span class="hljs-string">"react-router-dom": <span class="hljs-string">"^4.2.0",
<span class="hljs-string">"react-transition-group": <span class="hljs-string">"^4.4.1",
<span class="hljs-string">"resolve": <span class="hljs-string">"1.15.0",
<span class="hljs-string">"resolve-url-loader": <span class="hljs-string">"3.1.1",
<span class="hljs-string">"sass-loader": <span class="hljs-string">"8.0.2",
<span class="hljs-string">"semver": <span class="hljs-string">"6.3.0",
<span class="hljs-string">"style-loader": <span class="hljs-string">"0.23.1",
<span class="hljs-string">"terser-webpack-plugin": <span class="hljs-string">"2.3.5",
<span class="hljs-string">"ts-pnp": <span class="hljs-string">"1.1.6",
<span class="hljs-string">"url-loader": <span class="hljs-string">"2.3.0",
<span class="hljs-string">"webpack": <span class="hljs-string">"4.42.0",
<span class="hljs-string">"webpack-dev-server": <span class="hljs-string">"3.10.3",
<span class="hljs-string">"webpack-manifest-plugin": <span class="hljs-string">"2.2.0",
<span class="hljs-string">"workbox-webpack-plugin": <span class="hljs-string">"4.3.1",
<span class="hljs-string">"ztree": <span class="hljs-string">"^3.5.24"
},
<span class="hljs-string">"scripts": {
<span class="hljs-string">"start": <span class="hljs-string">"node scripts/start.js",
<span class="hljs-string">"build": <span class="hljs-string">"node scripts/build.js",
<span class="hljs-string">"test": <span class="hljs-string">"node scripts/test.js"
},
<span class="hljs-string">"eslintConfig": {
<span class="hljs-string">"extends": <span class="hljs-string">"react-app"
},
<span class="hljs-string">"proxy": <span class="hljs-string">"http://localhost:9999",
<span class="hljs-string">"homepage": <span class="hljs-string">".",
<span class="hljs-string">"browserslist": {
<span class="hljs-string">"production": [
<span class="hljs-string">">0.2%",
<span class="hljs-string">"not dead",
<span class="hljs-string">"not op_mini all"
],
<span class="hljs-string">"development": [
<span class="hljs-string">"last 1 chrome version",
<span class="hljs-string">"last 1 firefox version",
<span class="hljs-string">"last 1 safari version"
]
},
<span class="hljs-string">"jest": {
<span class="hljs-string">"roots": [
<span class="hljs-string">"<rootDir>/src"
],
<span class="hljs-string">"collectCoverageFrom": [
<span class="hljs-string">"src/**/*.{js,jsx,ts,tsx}",
<span class="hljs-string">"!src/**/*.d.ts"
],
<span class="hljs-string">"setupFiles": [
<span class="hljs-string">"react-app-polyfill/jsdom"
],
<span class="hljs-string">"setupFilesAfterEnv": [
<span class="hljs-string">"<rootDir>/src/setupTests.js"
],
<span class="hljs-string">"testMatch": [
<span class="hljs-string">"<rootDir>/src/**/__tests__/**/*.{js,jsx,ts,tsx}",
<span class="hljs-string">"<rootDir>/src/**/*.{spec,test}.{js,jsx,ts,tsx}"
],
<span class="hljs-string">"testEnvironment": <span class="hljs-string">"jest-environment-jsdom-fourteen",
<span class="hljs-string">"transform": {
<span class="hljs-string">"^.+\\.(js|jsx|ts|tsx)$": <span class="hljs-string">"<rootDir>/node_modules/babel-jest",
<span class="hljs-string">"^.+\\.css$": <span class="hljs-string">"<rootDir>/config/jest/cssTransform.js",
<span class="hljs-string">"^(?!.*\\.(js|jsx|ts|tsx|css|json)$)": <span class="hljs-string">"<rootDir>/config/jest/fileTransform.js"
},
<span class="hljs-string">"transformIgnorePatterns": [
<span class="hljs-string">"[/\\\\]node_modules[/\\\\].+\\.(js|jsx|ts|tsx)$",
<span class="hljs-string">"^.+\\.module\\.(css|sass|scss)$"
],
<span class="hljs-string">"modulePaths": [],
<span class="hljs-string">"moduleNameMapper": {
<span class="hljs-string">"^react-native$": <span class="hljs-string">"react-native-web",
<span class="hljs-string">"^.+\\.module\\.(css|sass|scss)$": <span class="hljs-string">"identity-obj-proxy"
},
<span class="hljs-string">"moduleFileExtensions": [
<span class="hljs-string">"web.js",
<span class="hljs-string">"js",
<span class="hljs-string">"web.ts",
<span class="hljs-string">"ts",
<span class="hljs-string">"web.tsx",
<span class="hljs-string">"tsx",
<span class="hljs-string">"json",
<span class="hljs-string">"web.jsx",
<span class="hljs-string">"jsx",
<span class="hljs-string">"node"
],
<span class="hljs-string">"watchPlugins": [
<span class="hljs-string">"jest-watch-typeahead/filename",
<span class="hljs-string">"jest-watch-typeahead/testname"
]
},
<span class="hljs-string">"babel": {
<span class="hljs-string">"presets": [
<span class="hljs-string">"react-app"
]
}
}
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code></pre>
<span class="cke_reset cke_widget_drag_handler_container"><img width="15" height="15" class="cke_reset cke_widget_drag_handler lazyload" title="点击并拖拽以移动" data-cke-widget-drag-handler="1" data-src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw=="></span></div>
<p> </p><br><br>
来源:https://www.cnblogs.com/samve/p/13455312.html
頁:
[1]