【问题标题】:Can't complete displaying alert in react native redux app无法在反应本机 redux 应用程序中完成显示警报
【发布时间】:2017-02-10 10:40:55
【问题描述】:

我有一个用于登录应用程序的减速器。
我想在出现问题时显示Alert
调度显示模式操作的登录操作:

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 视图。

【问题讨论】:

    标签: reactjs react-native redux react-redux


    【解决方案1】:

    您需要将您的组件连接到 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
       };
    };
    

    在这里你将你的组件连接到 redux

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

    组件中的这个变量可以从 props 中获取,例如: 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);
    

    【讨论】:

    • 能否请您添加更多代码我仍然不明白应该做什么:/
    • 你需要调度你的行动
    猜你喜欢
    • 1970-01-01
    • 2017-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-09
    • 1970-01-01
    • 2019-10-18
    • 1970-01-01
    相关资源
    最近更新 更多