Reagieren ausdrucken.Requisiten nur, wenn der Wert nicht null

Also ich habe zwei einfache Klassen Reagieren

Dashboard (Eltern)

class UserDashboardPage extends Component {
  render() {
    console.log("UserDashboardPage")
    console.log(this.props.users)
    return (
      <div>
        <UserInfoComponent user={this.props.users} />
      </div>
    );
  }
}

//map Users from store to Props
function mapStateToProps({ users }) {
  return { users };
}

UserInfoComponent (Kind)

export class UserInfoComponent extends Component {
  render() {
    console.log("UserInfoComponent")
    console.log(this.props.user)
    return (
      <h2>{this.props.user.firstName}</h2>
    );
  }
}

und das problem, das ich habe ist, dass ich ausgeben wollen this.props.user.firstName im UserInfoComponent aber der Wert ist zunächst null und dann die Komponente nicht neu Rendern, wenn der Wert bekommt die Daten.

userReducers

const initialState = { data: [], user: null };

const UserReducer = (state = initialState, action) => {
  switch (action.type) {
    case ADD_USER :
      return {
        data: [action.user, ...state.data],
      };
    case UPDATE_USER :
      return {
        user: action.user,
      };
    case LOGIN_USER: {
      const user = (action.response.statusCode === 200) ? action.response.user : null;

      console.log(user);

      return {
        user,
      };
    }
    default:
      return state;
  }
};

Beispiel, wie die Daten sich ändern

Können Sie zeigen Sie Ihre reducer-Funktion? den meisten Fällen auftreten, aufgrund von einer Unveränderlichkeit problem
Gerade aktualisiert. Ist das, was das, was man benötigt?
es tut werfen jede Konsole Fehler? Da hast du Zugriff auf firstName auf ein null-Objekt in UserInfoComponent
Nein, es funktioniert einfach nicht drucken, die firstName. Die Konsole ist die Verbindung, die ich freigegeben.

InformationsquelleAutor pbgnz | 2017-02-14

Schreibe einen Kommentar