使用Flummox(Flux),React和react-router进行CRUD应用程序设计

时间:2015-04-19 13:09:45

标签: javascript reactjs flux

作为Flux和React的学习练习,我正在构建一个简单的网站。它将有一个公共和私人的CMS'一部分。

到目前为止我计划的页面是:

/                          Filler page
/about                     Filler page
/contact                   Filler page
/cms/login                 Log in to the CMS.
/cms/logout                Log out of the CMS.
/cms                       Select what to manage
/cms/users/                List users
           ?q=:query       Filter by query (on the server).
           ?limit=:limit   Limit the amount of results (on the server).
           ?offset=:offset Set the offset to begin listing results at (on the server).
/cms/users/new             Add a user.
/cms/users/:id             Show a user.
/cms/users/:id/edit        Edit a user.
/cms/users/:id/destroy     Destroy a user.

使用react-router这使我得到了这个路由器和页面组件:

  <Route name="application" path="/" handler={Application}>
    <Route name="public" path="/" handler={Public}>
      <Route name="about" path="about" handler={About}/>
      <Route name="contact" path="contact" handler={Contact}/>
      <DefaultRoute handler={Home}/>
    </Route>
    <Route name="cms" path="/cms" handler={CMS}>
      <Route name="login" path="/cms/login" handler={Login}/>
      <Route name="logout" path="/cms/logout" handler={Logout}/>
      <Route name="users" path="/cms/users" handler={Users}>
        <Route name="usersNew" path="/cms/users/new" handler={UsersNew}/>
        <Route name="usersShow" path="/cms/users/:id" handler={UsersShow}/>
        <Route name="usersEdit" path="/cms/users/:id/edit" handler={UsersEdit}/>
        <Route name="usersDestroy" path="/cms/users/:id/destroy" handler={UsersDestroy}/>
        <DefaultRoute handler={UsersList}/>
      </Route>
      <DefaultRoute handler={Dashboard}/>
    </Route>
  </Route>

我还不了解Flux / Flummox的确切位置;

  1. Flux物体的寿命是多少?我是否有一个实例Flux许多 ActionsStore实例,或者我是否会生成一个新实例{ {1}},FluxActions用于每个&#34;页面&#34;在我的应用程序?
  2. 粒度在于对操作和存储进行分组的位置在哪里?例如a Store(仅包含在列表页面上执行的操作),其中CMSUsersListActions(列表页面上包含列表CMSUsersListStore)或users(包含所有用户页面操作) )使用CMSUsersActions(列表页面包含列表CMSUsersStore,新/编辑/销毁/显示页面包含users)?

1 个答案:

答案 0 :(得分:1)

这是我在另一周记录这个问题的教程。 https://youtu.be/o5E894TmHJg。我建议观看它,如果你还有问题,请在@bengrunfeld给我打电话。此外,我将在接下来的短时间内提供有关在React / Flux上创建TODOS应用程序的教程。