还是用各部分来表示过程吧,没文采,就先这样记着吧 嘻嘻
梳理问题:
编写es6风格的组件时,需要引入import React from ‘react’ 然后页面就华丽丽的展示出了我写的1、2两个字
在index.js中如何引入css并能生效?
看似挺简单的,但涉及到数据动态获取生成就棘手了,是自己还不能透彻理解的。如,组件的数据,如何从action到dispatcher再到store,派发到view中?
9.7号 回来啦
继续上周的问题
补充一会儿补上
先写下今天的:
1、以下代码排序,是以日期排的?
threadMessages.sort(function (a,b) {
if(a.date<b.date){
return -1;
}else if(a.date>b.date){
return 1;
}
return 0;
});
http://*.com/questions/10123953/sort-javascript-object-array-by-date
array.sort(function(a,b){
// Turn your strings into dates, and then subtract them
// to get a value that is either negative, positive, or zero.
return new Date(b.date) - new Date(a.date);
});
2、react的waitFor是用来干嘛的?
https://segmentfault.com/a/1190000002530862
随着应用规模的增长,Store之间的相互依赖变得无法避免。Store A可能会需要 Store B先执行update,然后才能正确地update自己。Dispatcher可以让我们先行调用并完成Store B所注册的回调,再继续执行Store A的业务。要显式地声明这种依赖,Store需要向dispatcher表明“我要等Store B处理完了才能继续处理当前的action”。而dispatcher的waitFor方法则提供了这种功能。
dispatch方法对回调的遍历是简单、同步
式的。当在执行callback过程中遇到waifFor方法时,对当前callback的调用就会中断,wairFor方法会根据声明的依赖重新确定遍历顺序(注:原文字面意思如此,但从dispatcher的源代码看是检查依赖项是否已执行,若否,则立即去执行依赖项)
,当所有依赖都被执行后,原先中止的callback才会继续执行
更进一步地,waifFor方法可以在同一个store回调的不同action处理分支中使用。在某种情况下Store A可能依赖Store B,而在另一种情况下又依赖Store C。在action处理语句块中使用waitFor使我们能够更细粒度地控制依赖关系。
当然也会出现问题,比如循环依赖。A依赖B然后B又依赖A这样的情况,会导致无限循环。目前Flux实现的dispatcher在遇到这种情况时会抛出一个包含错误信息的Error来警告开发者,然后开发者可以选择新建一个Store来避免这种情况。
注:从源代码看其实不用新建store,只要通过register新注册一个回调id即可,环检测是基于回调id的,Flux的官方demo中每个store有一个dispatcherToken来保存该store的回调id,事实上一个store持有多个回调id也是可行的