reactjs - Varför fortsätter jag att få varningen 'The class method 'componentDidMount' must be marked either 'private' 'public' or 'protected'' i mina tsx-filer?


Jag är inte säker på hur jag ska markera mina metoder i mina React-klasskomponenter. Jag får detta fel på dessa metoder: componentDidMount, componentDidUpdate, componentWillUpdate och render

Här är en grundläggande komponent som jag har:

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>
    );
  }
}

Jag kan inte sätta private render() osv eftersom det bryter komponenten.

Svar #1

Detta är tslint-regeln member-access.

I tslint.json, ändra:

"member-access": true

Till :

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

Relaterade artiklar