Javascript 如何使用ReactJS避免递归方法中的多次重新渲染

Javascript 如何使用ReactJS避免递归方法中的多次重新渲染,javascript,reactjs,Javascript,Reactjs,我有这个组件,当我点击列表元素时,它会被完全重新渲染。如何避免多次重新渲染?您可以在console中看到“重新渲染计数”setState将触发重新渲染,每次您调用GenerateNu时,它都会重新渲染链接,您也可以在其自身内部调用GenerateNu。从您的链接中,每次单击它,它都会运行6次 若要完全停止重新渲染,您可以将console.log(render${this.renderTimes++})放入新组件,使其完全停止重新渲染调用render()函数,您将看到组件仅渲染一次,在每个导航项目

我有这个组件,当我点击列表元素时,它会被完全重新渲染。如何避免多次重新渲染?您可以在console中看到“重新渲染计数”

setState将触发重新渲染,每次您调用GenerateNu时,它都会重新渲染链接,您也可以在其自身内部调用GenerateNu。从您的链接中,每次单击它,它都会运行6次


若要完全停止重新渲染,您可以将
console.log(render${this.renderTimes++})放入新组件,使其完全停止重新渲染调用
render()
函数,您将看到组件仅渲染一次,在每个导航项目上单击它将仅重新渲染一次。尽管多次调用了
generateMenu()
,但React会优化该函数并仅触发一个组件重新渲染。

除了链接之外,理解问题所需的所有相关代码都应在问题中显示。链接往往会断开。