[Flux] Component / Views

The application will dislay a some catalogs, and each catalog has title image, description.

Catalog:

import React from ‘react‘;
import AppStore from ‘../stores/app-store‘;
import CatalogItem from ‘./app-catalogitem‘;

function getCatalog(){
  return { items: AppStore.getCatalog() }
}

class Catalog extends React.Component {
  constructor(){
    super();
    this.state = getCatalog()
  }
  render(){
    let items = this.state.items.map( item => {
      return <CatalogItem key={ item.id } item={ item } />
    });
    return (
      <div className="row">
        { items }
      </div>
    )
  }
}
export default Catalog;

Each Catalog render CatalogItem:

import React from ‘react‘;
import AppActions from ‘../actions/app-actions‘;
import CartButton from ‘./app-cart-button‘;

export default (props) => {
  return (
      <div className="col-xs-6 col-sm-4 col-md-3">
          <h4>{ props.item.title }</h4>
          <img src="http://placehold.it/250x250" width="100%" className="img-responsive"/>
          <p>{ props.item.summary }</p>
          <p>${ props.item.cost }</p>
          <CartButton
            handler={
              AppActions.addItem.bind(null, props.item)
            }
            txt="Add To Cart"
            />
      </div>
  )
}

CartButton handle the click event whcih passed in:

import React from ‘react‘;

export default (props) => {
  return (
        <button
            className="btn btn-default btn-sm"
            onClick={ props.handler }>
            { props.txt }
        </button>
  )
}
时间: 2024-11-10 00:29:38

[Flux] Component / Views的相关文章

Untiy3D联网插件——Photon的自定义对象池使用方法

本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/68068178 作者:cartzhang 一. 写在前面 最开始接触Photon的时候,没有怎么理解代码,我们自己的写的对象池与Photon结合使用起来非常不方便. 需要每次从池里取对象,然后手动设置ViewID,这样很烦人,从感觉来说,就是photon的打开方式不对. 直到有天再次耐心去读了Photon的代码才有发现,感觉是

Angular2版本更新

2.0.0-beta.0 somnambulant-inauguration (2015-12-15) Enjoy! 2.0.0-alpha.55 (2015-12-15) Bug Fixes router: export ROUTER_LINK_DSL_PROVIDER and hide MockPopStateEvent (fc75220) Features core: enable dev mode by default (3dca9d5) BREAKING CHANGES Before

WPF MvvmLight简单实例(1) 页面导航

原文:WPF MvvmLight简单实例(1) 页面导航 实现了那些功能,先看看截图: 操作描述: 在程序运行后,点击“Load”按钮,页面会加载PageOne,点击PageOne页面中的“Next”按钮即可进入PageTwo页面, 点击PageTwo页面中的“Next”即可进入PageThree页面,点击Back可返回Page1页面 第一步:新建工程并使用NuGet安装MvvmLight 第二步:添加Views文件夹并添加相应的ViewModel 本文主要描述如何使用MvvmLight实现简单

Photon自定义加载Resource之外的资源

以下代码放置到PhotonNetwork.cs即可 #region >>> Photon自定义异步加载GameObject public delegate void CustomLoader(string prefabName, Action<UnityEngine.Object> ac); public static bool InstantiateCustom(string prefabName, Vector3 position, Quaternion rotation

react及flux架构范例Todomvc分析

react及flux架构范例Todomvc分析 通过分析flux-todomvc源码,学习如何通过react构建web程序,了解编写react应用程序的一般步骤,同时掌握Flux的单向数据流动架构思想 关于react react一个最吸引我的特性是组件,它是模块化的,所有的组件是独立的,又可以通过嵌套来构建更大型的组件,一个个小组件经过层层组装,最终形成web应用程序,它让我开始重新思考如何去构建大型的web应用程序. 关于Flux Flux是一个思想而非框架,强调数据自上而下传递的单向流动理念

【11】react 之 flux

Flux 是 Facebook 使用的一套前端应用的架构模式.React 标榜自己是 MVC 里面 V 的部分,那么 Flux 就相当于添加 M 和 C 的部分. 1.1.  Flux介绍 Flux并不是一项新的技术,而是一种架构模式,一个Flux应用由四个部分: View: 视图层(组件) Action(动作):视图层发出的消息(比如mouseClick) { type:'save', payload:'明天不能休息,自己在家把react弄一弄' } Dispatcher(派发器):用来接收A

學習 React.js:瞭解 Flux,React.js 的架構

Getting To Know Flux, the React.js Architecture Ken Wheeler (@ken_wheeler) 簡介 歡迎來到學習 React 的第三章.今天我們將會學習臉書的 Flux 架構的工作方式,以及我們怎麼把它應該用到我們的工程中. 如果你沒有準備好,我強烈建議你回去看看這個系列的第一.第二章,Getting Started & Concepts 和 Building a Real Time Twitter Stream with Node and

redux+flux(一:入门篇)

React是facebook推出的js框架,React 本身只涉及UI层,如果搭建大型应用,必须搭配一个前端框架.也就是说,你至少要学两样东西,才能基本满足需要:React + 前端框架. Facebook官方使用的是 Flux 框架.本文就介绍如何在 React 的基础上,使用 Flux 组织代码和安排内部逻辑. 首先,Flux将一个应用分成四个部分: Flux 的最大特点,就是数据的"单向流动". 用户访问 View View 发出用户的 Action Dispatcher 收到

Flux 架构入门教程

过去一年中,前端技术大发展,最耀眼的明星就是React. React 本身只涉及UI层,如果搭建大型应用,必须搭配一个前端框架.也就是说,你至少要学两样东西,才能基本满足需要:React + 前端框架. Facebook官方使用的是 Flux 框架.本文就介绍如何在 React 的基础上,使用 Flux 组织代码和安排内部逻辑,使得你的应用更易于开发和维护. 阅读本文之前,我假设你已经掌握了 React .如果还没有,可以先看我写的<React入门教程>.与以前一样,本文的目标是使用最简单的语