web-dev-qa-db-fra.com

Pourquoi est-ce que je continue à recevoir La méthode de classe 'componentDidMount' doit être marquée soit des avertissements 'privés' 'publics' soit 'protégés', dans mes fichiers tsx?

Je ne suis pas sûr de ce que je suis censé marquer mes méthodes dans mes composants de classe React. Je reçois cette erreur sur ces méthodes: componentDidMount, componentDidUpdate, componentWillUpdate et render

Voici un composant de base que j'ai:

import * as React from 'react';

const { Component } = React;

export default class Loading extends Component<{}, {}>  {
  componentDidMount() {
    console.log('....something....');
  }
  componentDidUpdate() {
    console.log('....something....');
  }
  componentWillUpdate() {
    console.log('....something....');
  }

  render() {
    const style = {
      background: '#f5f5f5',
      height: '100%',
      padding: '20px',
      textAlign: 'center',
      transition: 'all 0.5s linear',
      width: '100%'
    };
    return (
      <div id='app-loader' className='rounded' style={style}>
        <div className='loader large block rounded'>Loading...</div>
      </div>
    );
  }
}

Je ne peux pas mettre de rendu privé (), etc., car cela casse le composant.

13
Amir

Il s'agit de la règle tslint accès membre .

Dans tslint.json , modifiez:

"member-access": true

À:

"member-access": [true, "no-public"] // Or false. Read the rule and see what you want.
23
David Sherret