F5NXB
9/23/2019 - 2:32 PM

[State partie 2, "setState"] #ReactJS

[State partie 2, "setState"] #ReactJS

 import React, { Component } from 'react'
 import Header from './components/Header';
 import 'bulma/css/bulma.css';
 import './App.css';
  
 export default class App extends Component {
  state = {
    users: [
      {
        id: 1,
        nom: 'Durant',
        prenom: 'Paul'
      },
      {
        id: 2,
        nom: 'Dupont',
        prenom: 'Albert'
      },
      {
        id: 3,
        nom: 'Marty',
        prenom: 'Edgard'
      }
    ],
    titre: "Liste des utilisateurs"
  }
  /*
  Ajout d'un utilisateur avec setState
  */
  addUser = () => {
    const tabUsers = this.state.users;
    tabUsers.push({ id: 4, nom: 'Gate', prenom: 'Bill' });
    this.setState(tabUsers);
  }

  
  render() {
    return (
      <div>
        <Header titre={this.state.titre} listUsers={this.state.users} />
        <button onClick={this.addUser}>Ajouter un utilisateurs</button>
      </div>

  
    );
  }
 }
 
// ./components/Header.jsx
  import React, { Component } from 'react'

 export default class Header extends Component {
    render() {
        return (
            <div>
                <div className="box">{this.props.titre}</div>
                <div className="list">{
                    this.props.listUsers.map((user) => (
                        <p key={user.id} className="list-item">{user.nom} {user.prenom} </p>
                    )
                    )
                }</div>
            </div>  
        );
    }
 }