MobX React:定义一个观察者钩子
MobX React: Define a observer hook
我正在尝试在依赖于 mobx observables 的 MobX 项目中定义我自己的钩子。
但是不可能用 observer() 包装一个钩子,因为 observer() 必须 return 一个组件。
有没有办法定义观察者钩子?
示例:
// not working because observer must return a component
const useFindSuggestion = observer(({ target, node, suggestionsStore }: LinkSuggestionWrapperProps) => {
const [suggestions, setSuggestions] = useState<IDocumentInfo[]>([]);
useEffect(() => {
const suggestions = suggestionsStore.getRelevantSuggestions(node, target).filter((s) => s.documentId !== node.target);
setSuggestions(suggestions);
}, []);
return { suggestions };
});
我正在尝试在依赖于 mobx observables 的 MobX 项目中定义我自己的钩子。 但是不可能用 observer() 包装一个钩子,因为 observer() 必须 return 一个组件。 有没有办法定义观察者钩子?
示例:
// not working because observer must return a component
const useFindSuggestion = observer(({ target, node, suggestionsStore }: LinkSuggestionWrapperProps) => {
const [suggestions, setSuggestions] = useState<IDocumentInfo[]>([]);
useEffect(() => {
const suggestions = suggestionsStore.getRelevantSuggestions(node, target).filter((s) => s.documentId !== node.target);
setSuggestions(suggestions);
}, []);
return { suggestions };
});