【发布时间】:2022-10-21 20:36:59
【问题描述】:
我正在使用 next-i18next 翻译我的 Next.js 页面。我想知道是否使用
const { t } = useTranslation('common') 每个反应组件的任何地方都会对性能产生负面影响。另一种方法是在父级中调用它并将其传递给子级,IMO 不是一个聪明的解决方案,因为它为每个组件添加了一个额外的道具。
【问题讨论】:
标签: next.js i18next next-i18next
我正在使用 next-i18next 翻译我的 Next.js 页面。我想知道是否使用
const { t } = useTranslation('common') 每个反应组件的任何地方都会对性能产生负面影响。另一种方法是在父级中调用它并将其传递给子级,IMO 不是一个聪明的解决方案,因为它为每个组件添加了一个额外的道具。
【问题讨论】:
标签: next.js i18next next-i18next
这是做到这一点的方法。
您描述的替代方法是将函数本身作为道具传递,本质上是相同的。它只会指向原始函数的引用。
但是,将它作为道具传递可能会增加更多的内部反应开销,因为渲染过程需要在它通过的每个组件上找出该道具是否发生了变化。
使用从钩子解构的t(),您只需调用对该函数的引用,仅此而已。
【讨论】: