## 7.1 just [rest](https://github.com/cujojs/rest)
简单,rest 请求回来一个 Promise,你还可以用 [when](https://github.com/cujojs/when) 获得更多的 promise 和 monad 用法。
无需 model 在 componentDidMount 发出 rest 请求,then 直接扔给 setState。最多 setState 前加些 map filter 把数据改改格式。
## 7.2 [relay/graphql](https://facebook.github.io/relay/)
官方 data fetching 解决方案。
比起由 component 去发请求,再转换数据格式。relay/graphql 的思想是有 component 定义数据形状,由 relay 去发请求,有 graphql server 跟去根据定义返回相应形状的数据。
所以,对,会多一层 server layer。
view 层简单了,graphql 要做的事情却不少。
## 7.3 [falcor](https://github.com/netflix/falcor)
netflix 的简单版的 graphql可以参考我的 [todo falcor](https://github.com/jcouyang/react-falcor) 思想大致相似,但是更为简单一些,没有什么 QL,schema 之类的
- 1. Why not 2 way binding/为毛不用双向绑定
- 2. What's Virtual DOM, why should we care / 为毛要用 Vitual Dom
- 3. Why Immutable / 为毛要不可变
- 4. How to do Unit test React project / 如何单元测试
- 5. Modular and Components
- 6. How should I thinking in react way / 如何以 React 的方式解决问题
- 7. What about Data Fetching / 只有 V 的话,数据 M 呢
- 8. What about Router / router 怎么办
- 9. How to communicate between two components that don't have a parent-child relationship/ 不是父子关系的 component 怎么交互
- 10. When should I use "key" / 什么时候该用 key
- 11. What's these Warnings / 这些黄黄的是神马
- 12. How to Profile Component Perfomance / 如何提升效率