2016-08-02 10 views
0

私は貧乏人を勉強しようとしています。すべての仕組みを理解していますが、私が見ているすべての例はとても簡単なので、自分のウェブページを始めるとすぐに立ち往生しました。Reactjs + Reduxを表示するシンプルなウェブサイト

すべての例は、空白のページの1つまたは2つのコンポーネントです。見た目はスタイリングされていても何もありません。ヘッダー、フッター、ナビゲーションバーはありません。

私には、ヘッダー、フッター、メインコンテナ、サイドバーがあり、クリック可能なすべてのユーザーアイテムがリストされています。

静的なHTMLを書き込む手がかりがありません(コンポーネントをダンプするのか、htmlだけをダンプしますか)、複数のスマートコンポーネントを表示する方法がわかりません(サイドバー、メインコンテナでクリックされた内容サイドバー)。

私が見るすべてのチュートリアルでは、1つのdiv要素にすべてが書き込まれます

<div id="root"></div> 

私はエリアごとにこれらの多くを持っているし、これらのみとめを持っていますか?あなたのindex.html

ReactDOM.render(
    <Provider store={store}> 
     <App /> 
    </Provider>, 
    document.getElementById('root') 
); 
+1

reactjsの標準的な方法は1つのhtml要素を持つことです。反応コードはページ上の他のすべてのコンポーネントを構築し、それらをまとめてWebページを表示します。これは、すべてがJSによって「オンザフライ」で構築されることを意味します。お互いに話し合っている異なるコンポーネントを使って、より優れた制御が可能になります。静的な要素が必要な場合は、それらをHTMLに配置して、反応部分を投稿のようにdivに読み込むことができます。 – jzm

+0

[SoundRedux](https://github.com/andrewngu/sound-redux)のようなもっと複雑な 'redux'アプリケーションを見ることができます。多くのコンポーネントを持つ複雑なアプリケーションを構築する方法を示しています。簡単にクローンを作成し、ローカルで実行し、すべてのコードを検査することができます。 – Steve

答えて

1

<div id="root"></div>あなたのリアクトアプリケーションのための「ターゲット」で、一度だけ表示されます。 同様に、アプリケーションをreactDOMに一度だけレンダリングする必要があります。

import React, { Component } from 'react'; 

import Header from './components/header'; 
import Footer from './components/footer'; 
import MainContainer from './components/main_container'; 

class App extends Component { 
    render() { 
    return (
     <div> 
     <Header /> 
     <MainContainer /> 
     <Footer /> 
     </div> 
    ); 
    } 
} 

これは、ヘッダー、フッター、メインコンテナの各コンポーネントが作成されていることを前提としています。あなたのAppコンポーネントは、(非常に単純化して)複数のコンポーネントを含む大きなコンポーネントと考えることができます。したがって、AppをReactDOMにレンダリングすると、App内に含まれる他のコンポーネントを効果的にレンダリングすることになります。

注意:これは、webpack、babel、es6の使用を前提としています。

0

Facebookが反応し、ネイティブでアプリを構築するための素晴らしいチュートリアルを持って、このセクションはReduxの事を説明しています http://makeitopen.com/tutorials/building-the-f8-app/data/
このセクションでは、それほど反応ネイティブの事を恐れてはいけないかReactJS + Reduxのでは建築家に、基本的にはこのセクションはウェブアプリケーションとほぼ同じです。 you can find code here

関連する問題