React Native:如何向一个按钮添加两个动作?

React Native: How to add two Actions to a button ?

我有个小问题。我想将两个 Actions 传递给一个 Button,但我似乎无法弄清楚。我正在使用 react-native-router-flux 库。我试过类似的东西,但它并没有真正起作用。

如果有人能提供帮助那就太好了。谢谢!

<Button 
  onPress={Actions.Main1 && Actions.Tab2} 
  style={{ width: 90, height: 90 }} >
      <Text>Show</Text>
</Button>

onPress 属性接受一个函数,而且只是一个函数。 Javascript 中没有自动组合两个函数的语法。您需要创建一个新函数来执行这两个操作。

<Button 
  onPress={(e) => {
      Actions.Main1(e);
      Actions.Tab2(e);
  }} 
  style={{ width: 90, height: 90 }} >
      <Text>Show</Text>
</Button>

一些注意事项:

  1. 我将事件参数传递给两个操作,因为仅传递一个函数(即 onPress={Actions.Main1})本身也会传递此参数。在您的情况下,这可能不是必需的。
  2. 此代码的一个小问题是每次调用此组件的 render 函数时都会创建一个新函数。这并不可怕,但也不理想。考虑一下将来。我在此 post 中包含该优化,因为 a) 我们看不到组件的其余实现,b) 我认为这个问题很基本,我们只需担心主要概念。