MobX特殊API与实用工具深度解析
1. 特殊API:observe()与intercept()
在处理可观察对象的变化时, intercept() 和 observe() 是两个重要的工具。 intercept() 用于在变化应用到可观察对象之前进行拦截和修改,以下是一个处理主题变化的示例代码:
// 处理主题变化的拦截器
const interceptThemeChange = change => {
if (change.newValue === null) {
return null;
}
// 处理简写值
const newTheme = change.newValue.toLowerCase();
if (newTheme === 'l' || newTheme === 'd') {
change.newValue = newTheme === 'l' ? 'light' : 'dark'; // 设置正确的值
return change;
}
// 检查是否为有效的主题
const allowedThemes = ['light', 'dark'];
const isAllowed = allowedThemes.includes(newTheme);
if (!isAllowed) {
throw new Error(`${change.newValue} is not a v
超级会员免费看
订阅专栏 解锁全文
1703

被折叠的 条评论
为什么被折叠?



