我知道我不应该改变输入,应该克隆对象来改变它.我遵循在redux启动项目中使用的约定,该项目使用:
ADD_ITEM: (state, action) => ({
...state,
items: [...state.items, action.payload.value],
lastUpdated: action.payload.date
})
Run Code Online (Sandbox Code Playgroud)
添加项目 - 我使用spread来将项目附加到数组中.
删除我用过:
DELETE_ITEM: (state, action) => ({
...state,
items: [...state.items.splice(0, action.payload), ...state.items.splice(1)],
lastUpdated: Date.now()
})
Run Code Online (Sandbox Code Playgroud)
但是这会改变输入状态对象 - 即使我返回一个新对象,这是否被禁止?
我已经升级到webpack 2,在树摇动之前我的包大小增加了.在调查为什么看来我得等大文件bn.js
和eliptic
(节点库浏览器的一些依赖-这本身就是现在webpack2的依赖).有没有办法删除它们或排除它们?在webpack1中,他们没有被添加到我的包中.
我正在研究 Observables 及其与 EventEmitter 的差异,然后偶然发现了 Subjects (我可以看到 Angulars EventEmitter 基于关闭)。
似乎 Observable 是单播 vs 多播的主题(然后 EE 只是一个主题,它将 .next 包装在发射中以提供正确的接口)。
Observables 似乎很容易实现
class Observable {
constructor(subscribe) {
this._subscribe = subscribe;
}
subscribe(next, complete, error) {
const observer = new Observer(next, complete, error);
// return way to unsubscribe
return this._subscribe(observer);
}
}
Run Code Online (Sandbox Code Playgroud)
哪里Observer
只是一个添加一些尝试捕获和监控的包装器 isComplete 以便它可以清理并停止观察。
对于我想出的一个主题:
class Subject {
subscribers = new Set();
constructor() {
this.observable = new Observable(observer => {
this.observer = observer;
});
this.observable.subscribe((...args) => {
this.subscribers.forEach(sub => …
Run Code Online (Sandbox Code Playgroud) 我正在使用Jquery旋钮(http://anthonyterrien.com/knob/)并且它工作得很好但不是在中间显示无维数的数字我想用ei%或F等显示单位...如何我可以这样做吗?
我在表单中有一个数组
$array = array(
name => array (
[0] => peter,
[1] => george,
[2] => sarah
),
age => array(
[0] =>1,
[1] =>2,
[2] =>3
)
)
Run Code Online (Sandbox Code Playgroud)
我想将它解析成一个表,但是当我使用foreach循环时,我似乎无法正确输出它.
如果我使用
foreach($array[name] as $name){
foreach($array[age] as $age{
echo $name.$age;
}
}
Run Code Online (Sandbox Code Playgroud)
然后它只是输出每个年龄的名称,然后移动到下一个名称,然后完成所有3个年龄,然后是最后的年龄..
我想要:
Name1 Age1 Name2 Age2 Name3 Age3
javascript ×2
angular ×1
arrays ×1
jquery ×1
jquery-knob ×1
node.js ×1
observable ×1
php ×1
reactjs ×1
redux ×1
rxjs ×1
webpack ×1
webpack-2 ×1