Wie update-Komponente Staat auf redux Zustand zu ändern?

Da habe ich eine Komponente mit Formen, ich brauche die Formen angeschlossen werden, um den Komponentenstatus. Die ersten Daten stammen von Redux also versuchen zu initialisieren und aktualisieren Sie die Komponente, indem Sie die Einstellung zum Staat mit den Requisiten:

componentWillMount = () => {
  this.setState({
    language: this.props.language || 'en'
  })
}

language ist eine verbundene requisite und ich überprüft, dass es aktualisiert wird, in den laden.

const mapStateToProps = state => ({
  language: state.language
})

Ich habe auch versucht zu verwenden componentWillReceiveProps und componentWillUpdate aber es funktioniert nicht. Ich bekomme den Ausgangszustand, und sogar obwohl der Speicher und die angeschlossenen Requisiten ändern, wird die Komponente Status nicht aktualisieren.

{this.props.language} //updates
{this.state.language} //doesn't change

Was ist der richtige Weg, um Formulare verwalten von Redux Daten?


Den render Teil:

render () {
  const {classes, theme, web} = this.props

  const language = (
    <CardContent>
      <Typography type="headline">
        Language
      </Typography>
      <Divider/>
      <form className={classes.container} autoComplete="off">
        <FormControl fullWidth margin="normal">
          <InputLabel htmlFor="language">Select Block</InputLabel>
          <Select
            value={this.state.language} //<==================== language
            onChange={this.handleLanguaheChange}
            input={<Input id="language"/>}
          >
            <MenuItem value={'en'}>English</MenuItem>
            <MenuItem value={'he'}>עברית</MenuItem>
          </Select>
        </FormControl>
      </form>
    </CardContent>
  )
  ...

  return (
      <Grid
        container
        spacing={theme.spacing.unit * 3}
        justify={'space-between'}
        className={classes.gridWrap}
      >
        <Grid item xs={6}>
          <Card className={classes.card}>
            {language}
          </Card>
...
sind Sie einstellungsmodus in componentWillReceiveProps. Auch ruft setState synchron in componentWillMount nicht ausgelöst extra-rendering
Ich habe versucht componentWillMount , componentWillUpdate und componentWillReceiveProps aber keiner von Ihnen arbeitete
Kannst du den relevanten code Ihrer componentWillReceiveProps
es ist der exakt gleiche code wie die, die ich eingefügt mit componentWillMount

InformationsquelleAutor ilyo | 2017-12-07

Schreibe einen Kommentar