当我从useStore获取数据(视图(时,我必须一直写到这个(view:myStore.menu.view(,并且仍然将其全部包装在useObserver中。有没有办法缩短代码,但仍然保持逻辑不变?我使用Mobx和React Hooks。
提前感谢!
function useBasketStore() {
const { myStore } = useStore(['exampleStore']);
return useObserver(() => ({
view: myStore.menu?.view,
}));
}
const BasketScreen = () => {
const { view } = useBasketStore();
......
}
我认为不可能。仅当您的组件被观察器包装时才会出现这种情况。然后,您可以只使用数据:
function useBasketStore() {
const { myStore } = useStore(['exampleStore']);
return {
view: myStore.menu?.view,
};
}
const BasketScreen = () => {
const { view } = useBasketStore();
......
}
export default observer(BasketScreen)