J'ai écrit un Ordre Plus élevé de la Composante:
import React from 'react';
const NewHOC = (PassedComponent) => {
return class extends React.Component {
render(){
return (
<div>
<PassedComponent {...this.props}/>
</div>
)
}
}
}
export default NewHOC;
Je suis l'aide de la ci-dessus dans mon App.js:
import React from 'react';
import Movie from './movie/Movie';
import MyHOC from './hoc/MyHOC';
import NewHOC from './hoc/NewHOC';
export default class App extends React.Component {
render() {
return (
<div>
Hello From React!!
<NewHOC>
<Movie name="Blade Runner"></Movie>
</NewHOC>
</div>
);
}
}
Mais, l'avertissement que je reçois est:
Avertissement: les Fonctions ne sont pas valides comme Réagir enfant. Cela peut se produire si vous revenez d'un Composant au lieu de < / Composante> à partir de rendu. Ou peut-être vous appelez cette fonction plutôt que de le retourner. dans NewHOC (créée par App) dans div (créée par App) dans l'App
L'Movie.js fichier est:
import React from "react";
export default class Movie extends React.Component{
render() {
return <div>
Hello from Movie {this.props.name}
{this.props.children}</div>
}
}
Ce que je fais mal?