我想知道如何使用在useMemo
挂钩内可观察到的mobx。我知道我可以将所有可能的依赖项传递给该钩子,但这可能会造成一些混乱:
const MyComponent = observer(() => {
const people = useGetPeople();
const peopleFormatted = useMemo(() => {
return people.map(person => person.fullName);
},[ ...? ]);
});
我不能轻易使每个人的firstName
成为useMemo
的依赖项。我想我可以将功能提取到计算出的值中……但是我觉得这行不通:
const MyComponent = observer(() => {
const people = useGetPeople();
const peopleFormatted = computed(() => {
return people.map(person => person.fullName);
});
});
我觉得它将使mobx混淆以在反应内部创建一个计算,该反应必须依赖于该计算。
[我知道我可以将计算结果提取给每个人,但是我不认为这是可以满足每个用例的解决方案。
提前感谢!
永远不要使用React.useMemo来保持对状态对象的引用。它可能会被React随机丢弃,并且您可能会丢失数据。https://mobx-react.js.org/state-how