阿里低代码平台里怎么在自定义组件中获取页面上下文?
我在阿里低代码引擎(Lowcode Engine)里写了个自定义 React 组件,想拿到当前页面的上下文数据,比如 query 参数或者全局状态,但文档看得有点懵。试了 useLocation 和 useContext 都没生效,是不是得用他们提供的 API?
比如我现在这样写,根本拿不到任何上下文:
import { observer } from '@alilc/lowcode-editor-core';
const MyCustomComponent = observer((props) => {
// 这里怎么获取页面上下文?
console.log('props:', props);
return <div>Hello</div>;
});
export default MyCustomComponent;
你得用他们提供的
getContext方法,我当初也是折腾了半天才找到。修改后的代码大概长这样:这个
ctx对象里包含一堆有用的东西,比如ctx.params是路由参数,ctx.location是路由信息,还有全局状态也在里面。我当时傻傻地试了一堆React原生方法都不行,后来看源码才发现要这么用。文档确实写得不太明显,可能觉得开发者都应该知道吧(摊手)
props.location,页面对象在props.__page__。