Replies: 4 comments 9 replies
-
useModels 返回一个更新 state 函数 (有副作用的),这个函数在项目合适的地方调用,更新对应的数据。 比如 获取用户信息,可以放在 layout 里面,其他组件通过 useModels 获取用户信息即可。 (不知道我理解的对不对 :p |
Beta Was this translation helpful? Give feedback.
-
+1,同问。 目前在没有调用useModel的页面下也会去执行useModel。 我遇到的情况: 在models中写了几个获取一些状态的异步接口,结果在登录页(没有调用useModel)就会去执行请求,然后自然接口就报错啦。 |
Beta Was this translation helpful? Give feedback.
-
在 umi 里的 model 都是全局性质的,也就是说这里面的东西和副作用在应用启动一开始就会执行了。 可以看看官方的回复:#11824 |
Beta Was this translation helpful? Give feedback.
-
umi max 项目中,首先使用了自定义layout,并且创建了两个model,在组件中useModel没有任何问题,但是在login.tsx组件中,没有使用 useModel,也执行了所有 model里面的 useEffect 方法,我想问的是,是不是只要有models,在任何一个组件中都会执行?如果不是,应该如何指定在某些组件中,不需要执行 models中的方法?
`export default function Page() {
};`
比如这个 userModels,任意组件中都会执行,useEffect,因此为了避免,我增加了根据 pathname判断哪些路由需要执行,哪些不需要,但是觉得不太合适,是否有更简单的办法?
Beta Was this translation helpful? Give feedback.
All reactions