diff --git a/packages/code-generator/src/plugins/component/rax/commonDeps.ts b/packages/code-generator/src/plugins/component/rax/commonDeps.ts index 9e8ad1f57..16191951e 100644 --- a/packages/code-generator/src/plugins/component/rax/commonDeps.ts +++ b/packages/code-generator/src/plugins/component/rax/commonDeps.ts @@ -23,6 +23,7 @@ const pluginFactory: BuilderComponentPluginFactory = () => { // 注意: 出码引擎注入的临时变量默认都以 "__$$" 开头,禁止在搭建的代码中直接访问。 // 例外:rax 框架的导出名和各种组件名除外。 import { createElement, Component } from 'rax'; + import { withRouter as __$$withRouter } from 'rax-app'; `, linkAfter: [], }); diff --git a/packages/code-generator/src/plugins/component/rax/containerClass.ts b/packages/code-generator/src/plugins/component/rax/containerClass.ts index 0db104861..8c2bd058d 100644 --- a/packages/code-generator/src/plugins/component/rax/containerClass.ts +++ b/packages/code-generator/src/plugins/component/rax/containerClass.ts @@ -125,7 +125,7 @@ const pluginFactory: BuilderComponentPluginFactory = () => { type: ChunkType.STRING, fileType: FileType.JSX, name: COMMON_CHUNK_NAME.FileExport, - content: `export default ${componentClassName};`, + content: `export default __$$withRouter(${componentClassName});`, linkAfter: [ COMMON_CHUNK_NAME.ExternalDepsImport, COMMON_CHUNK_NAME.InternalDepsImport, diff --git a/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts b/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts index 0669a51e4..b953b3b2b 100644 --- a/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts +++ b/packages/code-generator/src/plugins/component/rax/containerInjectDataSourceEngine.ts @@ -46,7 +46,9 @@ const pluginFactory: BuilderComponentPluginFactory = (config?) => ...handlers, [ds.type]: { type: 'JSExpression', - value: `require('@ali/lowcode-datasource-engine/handlers/${changeCase.kebabCase(ds.type)}')`, + value: + `require('@ali/lowcode-datasource-engine/handlers/${changeCase.kebabCase(ds.type)}')` + + (ds.type === 'urlParams' ? '({ search: this.props.location.search })' : ''), }, }, {} as Record, diff --git a/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx index 53c839182..10070aa94 100644 --- a/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo1/expected/demo-project/src/pages/Home/index.jsx @@ -1,6 +1,7 @@ // 注意: 出码引擎注入的临时变量默认都以 "__$$" 开头,禁止在搭建的代码中直接访问。 // 例外:rax 框架的导出名和各种组件名除外。 import { createElement, Component } from 'rax'; +import { withRouter as __$$withRouter } from 'rax-app'; import Page from 'rax-view'; @@ -109,7 +110,7 @@ class Home$$Page extends Component { } } -export default Home$$Page; +export default __$$withRouter(Home$$Page); function __$$eval(expr) { try { diff --git a/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx index ae81f5f2a..bfe1af5e2 100644 --- a/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo2/expected/demo-project/src/pages/Home/index.jsx @@ -1,6 +1,7 @@ // 注意: 出码引擎注入的临时变量默认都以 "__$$" 开头,禁止在搭建的代码中直接访问。 // 例外:rax 框架的导出名和各种组件名除外。 import { createElement, Component } from 'rax'; +import { withRouter as __$$withRouter } from 'rax-app'; import View from 'rax-view'; @@ -42,7 +43,7 @@ class Home$$Page extends Component { _dataSourceEngine = __$$createDataSourceEngine(this._dataSourceConfig, this._context, { runtimeConfig: true, requestHandlers: { - urlParams: require('@ali/lowcode-datasource-engine/handlers/url-params'), + urlParams: require('@ali/lowcode-datasource-engine/handlers/url-params')({ search: this.props.location.search }), fetch: require('@ali/lowcode-datasource-engine/handlers/fetch'), }, }); @@ -286,7 +287,7 @@ class Home$$Page extends Component { } } -export default Home$$Page; +export default __$$withRouter(Home$$Page); function __$$eval(expr) { try { diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx index e55caffea..9fcf44663 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Detail/index.jsx @@ -1,6 +1,7 @@ // 注意: 出码引擎注入的临时变量默认都以 "__$$" 开头,禁止在搭建的代码中直接访问。 // 例外:rax 框架的导出名和各种组件名除外。 import { createElement, Component } from 'rax'; +import { withRouter as __$$withRouter } from 'rax-app'; import View from 'rax-view'; @@ -120,7 +121,7 @@ class Detail$$Page extends Component { } } -export default Detail$$Page; +export default __$$withRouter(Detail$$Page); function __$$eval(expr) { try { diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx index 0a3d6b94f..380ba614f 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/Home/index.jsx @@ -1,6 +1,7 @@ // 注意: 出码引擎注入的临时变量默认都以 "__$$" 开头,禁止在搭建的代码中直接访问。 // 例外:rax 框架的导出名和各种组件名除外。 import { createElement, Component } from 'rax'; +import { withRouter as __$$withRouter } from 'rax-app'; import View from 'rax-view'; @@ -120,7 +121,7 @@ class Home$$Page extends Component { } } -export default Home$$Page; +export default __$$withRouter(Home$$Page); function __$$eval(expr) { try { diff --git a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx index edbb4c07d..bb654b05b 100644 --- a/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx +++ b/packages/code-generator/test-cases/rax-app/demo3/expected/demo-project/src/pages/List/index.jsx @@ -1,6 +1,7 @@ // 注意: 出码引擎注入的临时变量默认都以 "__$$" 开头,禁止在搭建的代码中直接访问。 // 例外:rax 框架的导出名和各种组件名除外。 import { createElement, Component } from 'rax'; +import { withRouter as __$$withRouter } from 'rax-app'; import View from 'rax-view'; @@ -123,7 +124,7 @@ class List$$Page extends Component { } } -export default List$$Page; +export default __$$withRouter(List$$Page); function __$$eval(expr) { try {