为什么我在我的 tsx 文件中不断收到类方法 'componentDidMount' must be makred 'private' 'public' 或 'protected' 警告?

IT技术 reactjs typescript
2021-05-16 21:38:01

我不确定我应该在我的 React 类组件中标记我的方法。我在这些方法上收到此错误:componentDidMount、componentDidUpdate、componentWillUpdate 和 render

这是我拥有的一个基本组件:

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

我不能放置私有 render() 等,因为这会破坏组件。

1个回答

This is the tslint member-access rule.

In tslint.json, change:

"member-access": true

To:

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