2017-02-10 28 views
0

我有一个reducer登录到应用程序。
我想在出现问题时显示Alert
可调度登录动作显示模式的动作:无法完成显示警报的反应原生REDX应用程序

export function loginUser(username, password) { ... 
    dispatch({type: 'SHOW_MODAL', modalType: 'SUCESSFULL_LOGIN'}) 

莫代尔减速机:

export default function reducer(state={}, action) { 
    switch (action.type) { 
    case 'SHOW_MODAL': 
     return { 
     modalType: action.modalType 
     } 
    } 
    return state 
} 

但现在我不知道接下来要去哪里。
在哪里阅读state现在和显示Alert视图。

回答

2

您需要将组件连接到redux并从状态获取所需的属性。 例子:

const stateMap = (state, props, ownProps) => { 
    return(
     /* Here all your state */ 
     /* name_property: state.name_action_import.name_property_on_state*/ 
     modalType: state.login.modalType 
    ) 
} 

function mapDispatchToProps(dispatch) { 
    return { 
     // This you put action on this component if you need 
    }; 
}; 

在这里您将设备连接到终极版

export default connect(stateMap, mapDispatchToProps)(Alers); 

而在组件这个变量,你可以从喜欢的道具获得: this.props.modalType

你的部件警示会像:

import React from "react"; 
import { connect } from 'react-redux'; 
import login from './../../../actions'; /* Here your inport to action */ 

class Alers extends Component { 
    render() { 
     return (
      <div > 
       {this.props.modalType /*here you property from state */} 
      </div> 
     ); 
    } 
} 


const stateMap = (state, props, ownProps) => { 
    return { 
     modalType: state.login.modalType 
    }; 
}; 

function mapDispatchToProps(dispatch) { 
    return { 
    }; 
}; 

export default connect(stateMap, mapDispatchToProps)(Alers); 
+0

您可以请添加更多的代码我仍然不明白该怎么做:/ – 1110

+0

而且您需要调度您的操作 –

相关问题