2017-07-17 1 views
0

Ich bin auf https://www.npmjs.com/package/react-native-sidebar folgen, um eine Sidebar zu implementieren. I'm getting this error nach der Aktualisierung meines iOS Simulators. Ich folgte den Anweisungen, wie es ist, aber in meinem WebStorm IDE sagt es Unresolved function or method renderLeftSideBar() und Unresolved function or method renderLeftSideBar().Render-Funktionen funktionieren nicht für Sidebar

Hier ist der Code:

import React, { Component } from 'react'; 
import { AppRegistry} from 'react-native'; 
import { Provider } from 'react-redux'; 
import Application from './pages/Application'; 
import store from './redux'; 
import api from './utilities/api'; 
import SideBar from 'react-native-sidebar'; 

export default class DApp extends Component { 
    constructor(props) { 
     super(props); 
     this.state = { 
      data: [], 
      isLoading: true 
     } 
     console.log("something"); 
    } 

    componentWillMount() { 
     api.getData().then((res) => { 
      this.setState({ 
       data: res.data 
      }) 
     }); 
    } 

    renderLeftSideBar() { 
    return(
     <Text>Someting here for left side bar!</Text> 
    ); 
} 

renderRightSideBar() { 
    return(
     <Text>Someting here for right side bar!</Text> 
    ); 
} 

renderContent() { 
    return(
     <Text>The content!</Text> 
    ); 
}  

    render() { 
     if(this.state.isLoading) { 
      console.log("The data is: " + this.state.data); 
     } else { 
      console.log("Else got executed"); 
     } 

     return (

      <Provider store={store}> 
       <SideBar> 
        leftSideBar = {this.renderLeftSideBar()} 
        rightSideBar = {this.renderRightSideBar()} 
        style = {{flex: 1, backgroundColor: 'black'}}>{this.renderContent()} 
       </SideBar> 
       <Application /> 
      </Provider> 
     ); 
    } 
} 

AppRegistry.registerComponent('DApp',() => DApp); 
+0

definieren Sie Ihre 'renderLeftSideBar',' renderRightSideBar' und 'renderContent' Funktionen –

+0

klar sein über die Dinge zu lesen über' this' Schlüsselwort in JavaScript und wie diese verhält sich während der 'CLASS' Schlüsselwort. –

Antwort

0

Ihre Klasse dapp renderLeftSideBar() keine Funktion haben; Deshalb ist Ihre Funktion unresolved.

Um dies zu beheben, müssen Sie eine Funktion renderLeftSideBar() erstellen, die den Inhalt für die linke Seitenleiste zurückgibt. Das Lesen der von Ihnen verknüpften Dokumentation zeigt, dass leftSideBar vom Typ Component ist.

leftSidebar: Compontent

Typischerweise würde ich die Funktion oben render() definieren.

renderLeftSideBar() { 
    return <div> 
     (content goes here) 
    </div> 
} 
+0

Ok, ich habe alle definiert (ich habe meinen Code im ursprünglichen Post geändert), aber jetzt gibt es mir einen Fehler, der besagt: "Reagieren, Kinder erwarten nur ein einzelnes React-Element-Kind". –

+0

Hilft diese Antwort? https://stackoverflow.com/questions/43300897/react-children-only-expected-to-receive-a-single-react-element-child-navigator – Schomes

+0

Vielleicht ist es, weil Sie SideBar und Anwendung innerhalb verschachtelt haben. – Schomes

Verwandte Themen