Как удалить предыдущее состояние в mapStateToProps (redux) в реакции? - PullRequest
0 голосов
/ 29 марта 2019

Привет, у меня есть эта проблема в реакции с приставкой, так что мой компонент называется AddModel. Я использую этот компонент как для редактирования, так и для добавления, и моя проблема в том, что в mapStateToProps отображается мое предыдущее состояние, как когда я использую его для редактирования имени:Modele1, чем в другой раз, когда я использую его для добавления, он дает мне предыдущий Modele1 в TextField, и он должен дать мне пустую строку, вот мой код для компонента

    class AddModele extends Component {

componentDidMount() {
    const { match: { params } } = this.props;
    if (params.id) {
        const { dispatch } = this.props;
        dispatch(ModeleAction.getModeleById(params.id));
    }
}

render() {
    const { classes } = this.props;
    const { match: { params } } = this.props;
    function InsertText(props) {
        return <Typography>{'Add New modele'}</Typography>;
    }

    function EditText(props) {
        return <Typography>{'Edit modele'}</Typography>;
    }

    function SegHeader() {
        if (params.id) {
            return <EditText />;
        }
        return <InsertText />
    }
    ///////////////////////// this is where I use the props
    const nomModele = this.props.nomModele;

    return (

        <div className={classes.root}>

            <form className={classes.container}>

                <TextField
                    id="nomModele"
                    label="Name"
                    className={classes.textField}
                    value={nomModele}
                    margin="normal"
                    onChange={this.handleChange('nomModele')}
                >
                </TextField>
            </form>
        </div>
    );
}
}
 AddModele.propTypes = {
classes: PropTypes.object.isRequired,
  };

  const mapStateToProps = (state) => {

return {
    idModele: state.Modele.idModele,
    nomModele: state.Modele.nomModele
}
}

  const connectedAddModelePage = withRouter(connect(mapStateToProps,
   null, null, {
    pure: false
})(withStyles(styles)(AddModele)));
  export { connectedAddModelePage as AddModele };

Мой код редуктора:

    const initialState = { 
            Modele: [],
            idModele:'',
            nomModele:''
        };
        export function Modele(state = initialState, action) {
            switch (action.type) {
                case 'FETECHED_ALL_Modele':

                    return {
                        ...state,
                        Modele: action.Modele

                    };
                case 'Modele_DETAIL':
                    return {
                        ...state,
                        idModele: action.idModele,
                        nomModele: action.nomModele,
                    };
                default:
                    return state
            }
        }

это моя проблема после удаления чего-либо, когда я хочу добавить, я нахожу, что nomModele содержит предыдущее значение, спасибо заранее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...