do not subscribe to store when expression is static

This commit is contained in:
Yanzhen Yu 2021-07-07 13:45:34 +08:00
parent 26a32c6269
commit 450ea057aa
2 changed files with 5 additions and 6 deletions

View File

@ -11,8 +11,6 @@ const Text: Implementation<TextProps> = ({ value, mergeState }) => {
mergeState({ value: raw });
}, [raw]);
// console.log("render text");
return <_Text value={{ ...value, raw }} />;
};

View File

@ -45,16 +45,17 @@ export function useExpression(raw: string) {
};
}, [raw]);
const [state, setState] = useState<any>(null);
const [state, setState] = useState<any>(expression);
if (!dynamic) {
return state;
}
useStore.subscribe(
(value) => {
setState(value);
},
(state) => {
if (!dynamic) {
return expression;
}
return evalInContext(expression, state);
}
);