使用带有Redux的React Native和react-native-router-flux,我有一个动作创建者,在其中尝试使用Actions.key(在这种情况下为Actions.home),但它不起作用。我可能做错了什么?

这是我的动作创建者:

import * as actionTypes from './actionTypes'
import { Actions } from 'react-native-router-flux'

export const navigateHome = (text) => {
  Actions.home //This does not work for some reason

  return {
    type: actionTypes.NAVIGATE_HOME_SUCCESS,
  }
}


我的首页<Scene/>设置如下:

const RouterWithRedux = connect()(Router)
const store = configureStore()

export default class App extends Component {
  render() {
    return (
      <Provider store={store}>
        <RouterWithRedux>
          <Scene key='root'>
            <Scene component={Login} initial={true} key='login' title='Login'/>
            <Scene component={Home} key='home' title='Home' type={ActionConst.REPLACE}/>
          </Scene>
        </RouterWithRedux>
      </Provider>
    )
  }
}


但是,当我使用<Text onPress={Actions.home}>Continue</Text>在组件内部进行测试时,它导航至<Home/>正常。

最佳答案

您需要在Actions.home()中调用navigateHome,没有Actions.home就不能只是执行()

关于javascript - React Native/Redux和react-native-router-flux:为什么Actions.key在 Action 创建者内部不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39635383/

10-12 16:27