Я часто использую useMemo
в своем Functional Components
, и я беспокоюсь об этом, будет ли хорошим опытом частое использование его в нашем приложении?
Почему я так часто его использую?
У меня слишком много Components
, которые не нужно перерисовывать, за исключением особых обстоятельств, и именно поэтому я избегаю их перерисовки.
Код:
const App = props => {
const Comp1 = useMemo(()=> <Component1 {...props} a={a} />, [a]);
const Comp2 = useMemo(()=> <Component2 {...props} b={b} />, [b]);
const Comp3 = useMemo(()=> <Component3 {...props} c={c} />, [c]);
const Comp4 = useMemo(()=> <Component4 {...props} d={d} />, [d]);
const Comp5 = useMemo(()=> <Component5 {...props} e={e} />, [e]);
const Comp6 = useMemo(()=> <Component6 {...props} f={f} />, [f]);
const Comp7 = useMemo(()=> <Component7 {...props} g={g} />, [g]);
const Comp8 = useMemo(()=> <Component8 {...props} h={h} />, [h]);
const Comp9 = useMemo(()=> <Component9 {...props} i={i} />, [i]);
return (
<View>
{Comp1}
{Comp2}
{Comp3}
{Comp4}
{Comp5}
{Comp6}
{Comp7}
{Comp8}
{Comp9}
</View>
);
}
У меня может быть больше 20 Functional Components
, и во всех них у меня одни и те же ситуации, поскольку я использую много useMemo
крючков.
Мой вопрос: это bad experience
, которые влияют на плохое performance
вместо хорошего performance
? или нет проблем в моих условиях.
useMemo
работают хорошо, и я чувствую, что это предотвращает ненужный рендеринг, но иногда в некоторых компонентах я наблюдаю, что вprofiler
больше «упало» при использованииuseMemo
. - person Muhammad   schedule 27.04.2020useMemo
? - person Muhammad   schedule 27.04.2020