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