2017-06-29 2 views
-1

Ich verwende Router V4, reagieren, wenn ich eine Route erklären will ich meine Komponente innerhalb einer hohen Ordnung Komponente wickeln, wenn ich HOC verwenden inReagieren Router V4, Requisiten machen mit hoher Ordnung Komponente

export default hoc(Component) 

Dann lege ich die Komponente in die Renderstütze, es funktioniert. Wenn ich dies tun

`<Route exact path="/projects" render={(props) => (withNavHOC(<ProjectsContainer {...props}/>))} />` 

Es diesen Fehler zurückgibt:

Uncaught Error: Route.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object. 

Warum es passiert? Mein Hoc funktioniert gut, es gibt eine gültige reagieren Komponente:

`

const withNavHOC = (WrappedComponent) => { 
    return class extends React.Component{ 
     render(){ 
      if(this.props.match.params.id){ 
       console.log("Here"); 
       return(
        <div> 
         <ProjectMenu/> 
         <WrappedComponent {...this.props}/> 
        </div>) 
      } 
      return(
        <div> 
         <Navigation/> 
         <WrappedComponent {...this.props}/> 
        </div> 
      ) 
      } 
     } 
};` 

Antwort

0

Um HOC was natürlich eine einfache Funktion, müssen wir„Komponente“passieren, nicht <Component/>.

Verwandte Themen