Javascript react native:如何停止选项卡重新渲染?

Javascript react native:如何停止选项卡重新渲染?,javascript,reactjs,react-native,Javascript,Reactjs,React Native,因此,我将一个函数作为道具发送到我的一个选项卡,但现在每次调用该函数时,该选项卡都会被销毁并重新渲染 我把shouldComponentUpdate()弄得一团糟,但毫无用处,因为调用函数时组件会被破坏 我该怎么做?所讨论的功能是“购买”。谢谢 ( this.addToCart(newCartNum)}/> )} /> ... addToCart(newCartNum){ 这是我的国家({ cartNum:newCartNum, }); } 我不知道您想要实现什么,但请尽力帮助您。最好不要在渲染

因此,我将一个函数作为道具发送到我的一个选项卡,但现在每次调用该函数时,该选项卡都会被销毁并重新渲染

我把shouldComponentUpdate()弄得一团糟,但毫无用处,因为调用函数时组件会被破坏

我该怎么做?所讨论的功能是“购买”。谢谢

(
this.addToCart(newCartNum)}/>
)}
/>
...
addToCart(newCartNum){
这是我的国家({
cartNum:newCartNum,
});
}

我不知道您想要实现什么,但请尽力帮助您。最好不要在渲染中使用lambda函数,因为每次react生成一个新对象,这意味着更多的重新渲染,在这种情况下,所有react魔法都会丢失。但在你的情况下,也许你可以这样做:

进行单独渲染:

renderBuyComponent() {
  return (
    <Buy addToCartParent={this.addTocart} />
  )
}

addToCart = (newCartNum) => {
  this.setState({
     cartNum: newCartNum,
  });
}


return (
  <Tab.Navigator>
    <Tab.Screen name="Buy" component={this.renderBuyComponent()} />
    <Tab.Screen name="About" component={About} />
  </Tab.Navigator>
)
renderBuyComponent(){
返回(
)
}
addToCart=(newCartNum)=>{
这是我的国家({
cartNum:newCartNum,
});
}
返回(
)

谢谢,我刚刚尝试了这段代码,但我得到了“屏幕‘Buy’的组件道具值无效”,这意味着如果我想传递道具,我需要使用lambda函数。Andrew,请发送更多代码,所有组件都带有制表符并购买。
renderBuyComponent() {
  return (
    <Buy addToCartParent={this.addTocart} />
  )
}

addToCart = (newCartNum) => {
  this.setState({
     cartNum: newCartNum,
  });
}


return (
  <Tab.Navigator>
    <Tab.Screen name="Buy" component={this.renderBuyComponent()} />
    <Tab.Screen name="About" component={About} />
  </Tab.Navigator>
)