freeCodeCamp/curriculum/challenges/italian/03-front-end-development-li.../react/use-the-lifecycle-method-co...

2.6 KiB

id title challengeType forumTopicId dashedName
5a24c314108439a4d403617c Usare il metodo del ciclo di vita componentWillMount 6 301423 use-the-lifecycle-method-componentwillmount

--description--

I componenti React hanno diversi metodi speciali che offrono l'opportunità di eseguire azioni in punti specifici del ciclo di vita di un componente. Questi sono chiamati metodi del ciclo di vita, o hooks (ganci) del ciclo di vita, e consentono di intercettare i componenti in determinati istanti. Ad esempio prima che sia fatto il render del componente, prima di aggiornarlo, prima di ricevere le prop, prima di smontarlo, e così via. Ecco un elenco di alcuni dei principali metodi del ciclo di vita: componentWillMount() componentDidMount() shouldComponentUpdate() componentDidUpdate() componentWillUnmount() Le prossime lezioni copriranno alcuni dei casi di base per questi metodi del ciclo di vita.

Nota: Il metodo del ciclo di vita componentWillMount sarà deprecato in una versione futura di 16.X e rimosso nella versione 17. (Fonte)

--instructions--

Il metodo componentWillMount() viene chiamato prima del metodo render() quando un componente viene montato sul DOM. Scrivi qualcosa nella console all'interno di componentWillMount() - potresti aprire la console del browser per vedere l'output.

--hints--

MyComponent dovrebbe presentare un elemento div.

assert(
  (function () {
    const mockedComponent = Enzyme.mount(React.createElement(MyComponent));
    return mockedComponent.find('div').length === 1;
  })()
);

console.log dovrebbe essere chiamato in componentWillMount.

assert(
  (function () {
    const lifecycle = React.createElement(MyComponent)
      .type.prototype.componentWillMount.toString()
      .replace(/ /g, '');
    return lifecycle.includes('console.log(');
  })()
);

--seed--

--after-user-code--

ReactDOM.render(<MyComponent />, document.getElementById('root'))

--seed-contents--

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
  }
  componentWillMount() {
    // Change code below this line

    // Change code above this line
  }
  render() {
    return <div />
  }
};

--solutions--

class MyComponent extends React.Component {
  constructor(props) {
    super(props);
  }
  componentWillMount() {
    // Change code below this line
    console.log('Component is mounting...');
    // Change code above this line
  }
  render() {
    return <div />
  }
};