Почему параметр props неявно имеет тип any? - PullRequest
0 голосов
/ 10 октября 2018

Я пытался создать магазин с помощью create-реагировать-app-typcript.Все шло нормально ... однако затем произошла эта ошибка "Параметр" props "неявно имеет тип" любой "", и я нашел решение для этого в Интернете ... он предложил создать интерфейс для реквизита.Но я действительно не знаю, что этот объект имеет, поэтому я даже не могу сделать это ...

Любая помощь приветствуется!(Я новичок в TypeScript)

import * as React from 'react';
import { connect } from "react-redux";
import mapStateToProps from "./utilities/mapStateToProp";

class App extends React.Component {
  constructor(props){
    super(props);
  }

  public render() {
    return (
      <div className="App">
        <h1>Go Type React</h1>
      </div>
    );
  }
}

export default connect(mapStateToProps)(App);

1 Ответ

0 голосов
/ 10 октября 2018

Вы должны всегда объявлять свои реквизиты и объекты состояния с обобщениями в классе Component.По возможности воздержитесь от использования ключевого слова any.

Совет. Современная среда IDE позволяет выполнить F12 и просмотреть файл определения, что очень полезно, если вы новичок в TypeScript.Вы также можете прочитать определение React в репозитории DT GitHub, React.Component определены здесь

type AppProps = {}
type AppState = {}
class App extends React.Component<AppProps, AppState> {
    constructor(props: AppProps) {
        super(props);
        //this.props will already be of type AppProps. 
        //Only the constructor props are any
    }

    public render() {
        return (
            <div className="App">
                <h1>Go Type React</h1>
            </div>
        );
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...