Maison > Questions et réponses > le corps du texte
P粉4208682942023-09-04 13:44:33
Normalement, useMemo
的作用是在渲染期间缓存昂贵计算的值。然而,在您的情况下,您没有任何昂贵的渲染计算;每次输入更改时,您只是渲染一个非常大的树。实际上,因为所有状态都在App
sur le composant, donc l'intégralité de l'application est restituée à chaque fois.
La façon d'optimiser ce problème dans React est d'ignorer les composants de rendu autant que possible. Pour ce faire, divisez les parties non liées de la page en différents composants. Une fois que vous avez séparé la logique, enveloppez-la avec React.memo()
, une technique d'optimisation différente qui peut ignorer complètement le rendu des composants.
Pour moi, les changements les plus évidents que vous puissiez apporter sont :
TodosDatos
移出App
car il est constant et n'a pas besoin d'être redéfini à chaque rendu (ce qui peut prendre de la mémoire). <Table>
dans un nouveau composant et utilisez <Table>
放入一个新的组件中,并使用React.memo()
pour vous en souvenir. Assurez-vous de transmettre toutes les valeurs de dépendance de table aux accessoires du nouveau composant. J'ai implémenté ces changements ici : https://codesandbox.io/s/green-breeze-mmum6n?file=/src/App.js. Vous devriez maintenant remarquer que la saisie est presque instantanée. Vous pouvez également effectuer plusieurs optimisations ailleurs pour obtenir de meilleures performances.