Type '{}' n'est pas cessible de type 'IntrinsicAttributes & IntrinsicClassAttributes

je suis en train d'effectuer un simple réagir application.
c'est mon index.tsx

import * as React from 'react';
import * as ReactDOM from 'react-dom';
import App from './components/App';
import registerServiceWorker from './registerServiceWorker';

ReactDOM.render(
  <App />,
  document.getElementById('root') as HTMLElement
);
registerServiceWorker();

et ici, j'ai mon app.tsx

    import * as React from 'react';
import SearchBar from '../containers/price_search_bar';

interface Props {
  term: string;
}

class App extends React.Component<Props> {

  //tslint:disable-next-line:typedef
  constructor(props) {
    super(props);
    this.state = {term: '' };
  }

  render() {
    return (
      <div className="App">
        <div className="App-header">
          <h2>Welcome to React</h2>
        </div>
        <p className="App-intro">
          this is my application.
        </p>
        <div>
            <form>
            <SearchBar term={this.props.term} />
            </form>
        </div>
      </div>
    );
  }
}

export default App;

et aussi ma barre de recherche contenant:

    import * as React from 'react';

interface Props {
    term: string;
}

//tslint:disable-next-line:no-any
class SearchBar extends  React.Component<Props> {

    //tslint:disable-next-line:typedef
    constructor(props) {
        super(props);
        this.state = { term: '' };
    }

    public render() {
        return(
            <form>
                <input 
                    placeholder="search for base budget"
                    className="form-control"
                    value={this.props.term}
                />
                <span className="input-group-btn" >
                    <button type="submit" className="btn btn-secondary" >
                        Submit
                    </button>
                </span>

            </form>
        );
    }
}

export default SearchBar;

et j'ai enfin mon tsconfig.json:

{
  "compilerOptions": {
    "outDir": "build/dist",
    "module": "esnext",
    "target": "es5",
    "lib": ["es6", "dom"],
    "sourceMap": true,
    "allowJs": true,
    "jsx": "react",
    "moduleResolution": "node",
    "rootDir": "src",
    "forceConsistentCasingInFileNames": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "noImplicitAny": false,
    "strictNullChecks": true,
    "suppressImplicitAnyIndexErrors": true,
    "typeRoots": [
      "node_modules/@types"
    ],
    "noUnusedLocals": true
  },
  "exclude": [
    "node_modules",
    "build",
    "scripts",
    "acceptance-tests",
    "webpack",
    "jest",
    "src/setupTests.ts"
  ]
}

Je reçois des différentes erreurs après erreurs et lorsque j'ai jamais corriger une erreur, une autre apparaît, je ne suis pas sûr de ce que j'ai fait que faire se comporter comme cela.
C'est la dernière erreur:

./src/index.tsx
(7,3): error TS2322: Type '{}' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes<App> & Readonly<{ children?: ReactNode; }> & Reado...'.
  Type '{}' is not assignable to type 'Readonly<Props>'.
    Property 'term' is missing in type '{}'.

J'ai essayé de le corriger en modifiant mon tsconfig.json mais le même message d'erreur s'affiche toujours, ce que je fais mal et pourquoi tapuscrit est bahing comme ça. Je suis très nouveau à cela et par cet exemple, je suis en train de udnertand comment réagir travaille tous ensemble.

  • Pourquoi avez-vous besoin {} ici React.Component<Props, {}>?
  • J'ai changé dans le vide, également objet, mais le même!
  • Ce qui se passe quand vous venez de passer les Accessoires et rien d'autre?
  • class App extends React.Component<Props> { également retourne la même erreur qu'avant!
  • Et quand vous passez any?
  • Jetez un oeil ici stackoverflow.com/a/47388544/6219957
  • merci l'erreur, est maintenant disparu, mais ma barre de recherche ne fonctionne plus!
  • Que voulez-vous dire
  • Aussi, vous êtes de passage à la term prop dans App un accessoire, mais vous n'avez jamais fourni à l' App composant lorsque vous le rendre.
  • Je suis en train de faire une barre de recherche qui fonctionnent quand u type dans une entrée, de sorte que u doit eb pouvez le voir dans la console. J'ai changé mon code un peu, j'obtiens toujours la même erreur, au niveau de l'index.tsx!
  • Mais il n'y a pas d'accessoires qui sont passés à l'Application, donc il n'y aura aucune valeur rendue dans la barre de recherche.
  • c'est ce que j'essayais todo si cette erreur serait de s'en aller!
  • Je ne comprends pas
  • ReactDOM.render(<App terme="toto" />, document.getElementById('root') comme HTMLElement);

InformationsquelleAutor S. N | 2018-01-13