Tom*_*omy 5 react-native react-redux react-navigation
import React from 'react'
import {
StackNavigator
} from 'react-navigation'
import Home from './Home'
import Detail from './Detail'
import MyIcon from './MyIcon'
export default StackNavigator({
Home: {
screen: Home,
navigationOptions: {
title: 'Foo',
headerRight: (<MyIcon dispatch={}/>), //<- Here
}
},
Detail: {
screen: Detail,
navigationOptions: {},
},
})
Run Code Online (Sandbox Code Playgroud)
我想在 React Navigation Option 设置中将 dispatch 函数传递给 HeaderComponent ,如 headerRight 。我怎样才能做到这一点?
您需要在使用时输入并设置call您的dispatch功能headerRightcomponentmountedthis.props.navigation.setParams
import React from 'react'
import {
StackNavigator
} from 'react-navigation'
import Home from './Home'
import Detail from './Detail'
import MyIcon from './MyIcon'
export default StackNavigator({
Home: {
screen: Home,
navigationOptions: ({ navigation }) => {
title: 'Foo',
headerRight: (<MyIcon
onPress={ () => navigation.state.params.dispatch() } />)
// calling dispatch when headerRight icon is press
}
},
Detail: {
screen: Detail,
navigationOptions: {},
},
})
Run Code Online (Sandbox Code Playgroud)
dispatch在组件中设置函数
...
//setting dispatch function to headerRight in your component
componentDidMount() {
this.props.navigation.setParams({
dispatch: this.dispatch.bind(this)
});
}
dispatch() {
// your code
}
Run Code Online (Sandbox Code Playgroud)
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
1752 次 |
| 最近记录: |