2016-10-03 6 views
3

ログインコンポーネントでオンクリックすると、ホームコンポーネントが表示され、ホームコンポーネント内でonClickがログインコンポーネントを表示する必要があります。しかし、このエラーを取得する反応jsでコンポーネントを交換するにはどうすればいいですか?

Uncaught Error: Element type is invalid: expected a string (for built-in 
components) or a class/function(for composite components) but got: object(...) 

私はこれを解決するために手伝ってください。

ログイン

handleSubmitValidateInput: function(e){ 
    e.preventDefault(); 
    ReactDOM.unmountComponentAtNode(document.getElementById('content')); 
    ReactDOM.render(<Home UserDetails={data}/>, document.getElementById('content')); 
} 

ホーム

​​

しかし、私は別のコンポーネントで両方をレンダリングすることができています。 ホームコンポーネントをクリックすると、エラーが表示されます。

答えて

2

ページ間のナビゲーションを処理するには、間違いなくhttps://github.com/ReactTraining/react-routerを参照する必要があります。 Reactは実際のDOMと同期して状態を維持するためにReactが仮想DOMを使用するので、これはReactのやり方とは違うので、DOMを直接操作するべきではありませんが、それは問題の範囲外です。

初めてアプリケーション全体をレンダリングするときにDOMを直接タッチするのは「OK」です。追加のDOM操作用

ReactDOM.render(<MyApp />, document.getElementById('content'));

、データバインディングを使用して、その魔法を行うリアクトてみましょう:このような何か。

+0

いいえ、ルーティングについてです。しかし、何かをクリックするたびにコンポーネントを交換したいだけです。私はログインからホームに行くことができますが、私は私の質問に示されているように、家からアンマウントしてログインをマウントすることでホームからログインに行くことができません –

関連する問題