我想重构内部
fn
属于
this.setState(fn)
Utils
班级,
Utils.createTargetDict
. 我不知道怎么弄到那辆车
target
参数的参数来自
register
进入我新创建的
. 我想这是一个FP技术需要咖喱,但我就是不明白。
import React from 'react';
class MyComponent extends React.Component {
constructor(props) {
super(props);
this.state = {targets: {}}
}
get engine() {
return {
state: this.state,
register: target => {
this.setState(ps => {
return {
targets: {
...ps.targets,
...Utils.createElement(target),
},
};
});
},
}
}
}
const myComp = new MyComponent();
const engi = myComp.engine;
engi.register({current: {foo: '1', bar: 'a'}});
register: target => {
this.setState(ps => {
return {
targets: {
...ps.targets,
...Utils.createElement(target),
},
};
});
},
收件人:
register: target => {
this.setState(Utils.createTargetDict);
},
公用事业
class Utils {
static createTargetDict(ps) {
return {
targets: {
...ps.targets,
...Utils.createElement(target),
},
};
}
static key() {
let d, r;
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, c => {
r = (new Date().getTime() + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c === 'x' ? r : (r & 0x3) | 0x8).toString(16);
});
}
static createElement(target) {
const key = Utils.key();
return {
[key]: {
...target,
current: {
...target.current,
key: key,
visibility: false,
},
},
};
}
}