私はこの問題を今週持ち、ソリューションを見つけることができません。 コンポーネントをRootコンポーネントでレンダリングしようとしています。Rootコンポーネントでレンダリングコンポーネントを試してください
index.jsファイル:
import React, {Component} from 'react';
import ReactDOM from 'react-dom';
import {
BrowserRouter as Router,
Route,
Link,
} from 'react-router'
import IndexContent from './components/indexContent';
import IndexHome from './components/indexHome';
import Root from './components/root';
class App extends Component{
render(){
return(
<Router>
<Root>
<Route exact path="/" component={IndexContent}/>
<Route path="/indexhome" component={IndexHome} />
</Root>
</Router>
)
}
}
export default App;
ReactDOM.render(<App/>, document.getElementById('wrapper'));
root.jsファイル:
import React,{Component} from 'react';
import NavBar from './NavBar';
import Footer from './footer';
class Root extends Component{
render(){
return(
<div>
<NavBar/>
{this.props.children}
<Footer/>
</div>
)
}
};
export default Root;
indexContent.jsファイル:
import React,{Component} from 'react';
class IndexContent extends Component{
render(){
return(
<h1>IndexContent</h1>
)
}
};
export default IndexContent;
indexHome.jsファイル:
import React, {Component} from 'react';
class IndexHome extends Component{
render(){
return(
<h1>IndexHome</h1>
)
}
}
export default IndexHome;
と私は取得していますエラーは次のとおりです。
1)警告:React.createElement:タイプが無効です - 文字列を期待(内蔵用(コンポーネントの場合)またはクラス/関数(コンポジットコンポーネントの場合)ですが、未定義です。コンポーネントが定義されているファイルからコンポーネントをエクスポートするのを忘れた可能性があります。App
というレンダリング方法を確認してください。
2)未知のエラー:要素の種類が無効です:組み込みコンポーネントの文字列または複合/コンポーネントのクラス/関数が必要ですが、未定義です。コンポーネントが定義されているファイルからコンポーネントをエクスポートするのを忘れた可能性があります。App
というレンダリング方法を確認してください。不変(bundle.js:946)で ReactCompositeComponentWrapper.instantiateReactComponentで[_instantiateReactComponentとして(bundle.js:12837) ReactCompositeComponentWrapper.performInitialMountで(bundle.js:22340) ReactCompositeComponentWrapper.mountComponent(bundle.js:22231)でReactCompositeComponentWrapper.performInitialMountで (bundle.js:22344)ReactCompositeComponentWrapper.mountComponentで (bundle.js:22231)Object.mountComponentで (bundle.js:4663) で:Object.mountComponent(4663 bundle.js)で mountComponentIntoNode(bundle.js:12047) at ReactReconcileTransaction.perform(bundle.js:7037)
私たちとindexContent.jsとindexHome.jsコードを共有できますか?何か間違っているはずです。それとも、あなたの輸入品になる可能性があります。とにかく、コードは私たちにもっとまともな理解を与えるでしょう –
@GiorgiKhorguani ありがとうございました。私は編集してindexContent.jsとindexHome.jsを見ることができます また、私はreact-router v4を使用しています(違いがあれば) –
'import'ステートメントの1つが無効だと思います。 1.すべてのパスが正しいことを確認します。 2.それらに '.js'拡張を追加します。 'ルートを './components/root.js'からインポートします。 – Sulthan