2019.05.15
[新闻] Lerna 发布了新的版本,支持 conventional-commits ,而且我看源码时学到了一招,原来 dependencies 支持 file:../query-graph
方式:https://github.com/lerna/lerna/releases/tag/v3.14.0
[文章] 微前端技术调研,我们来看看优秀的工程师,是怎么做技术调研的:https://github.com/umijs/rfcs/blob/umi-plugin-single-spa/accepted/0000-umi-plugin-single-spa.md
[类库] Google 实验室推出了一个库 comlink ,它属于 Web Workers 的二次封装;之前没想到它的应用场景,后来发现它的适用场景应该是像淘宝双十一的数据大屏;「因为性能问题,通常一个大屏需要请求多个接口来展示图表,服务端通常有熔断策略,每个图表正常一秒请求一个接口的话,带来的 Ajax 开销也是非常大的」这种情况就特别适用于 Web Workers 技术:https://github.com/GoogleChromeLabs/comlink
[类库] unform 是 React 体系的一个表单库,它有一点特别好的地方,支持嵌套数据格式,这样就可以避免了在发送数据时(Service)做二次的数据处理:https://github.com/Rocketseat/unform
配图 - 微前端技术调研
配图 - comlink
示例 - Lerna file 支持
{
"dependencies" : {
"foo" : "1.0.0 - 2.9999.9999",
"bar" : ">=1.0.2 <2.1.2",
"baz" : ">1.0.2 <=2.3.4",
"boo" : "2.0.1",
"qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0",
"asd" : "http://asdf.com/asdf.tar.gz",
"til" : "~1.2",
"elf" : "~1.2.3",
"two" : "2.x",
"thr" : "3.3.x",
"lat" : "latest",
"dyl" : "file:../dyl" // 看这里
}
}
示例 - Nested fields
import React from "react";
import { Form, Input, Scope } from "@rocketseat/unform";
function App() {
function handleSubmit(data) {
console.log(data);
/**
* {
* name: 'Diego',
* address: { street: "Name of street", number: 123 } // 看这里
* }
*/
};
return (
<Form onSubmit={handleSubmit}>
<Input name="name" />
<Scope path="address"> // 看这里
<Input name="street" />
<Input name="number" />
</Scope>
<button type="submit">Save</button>
</Form>
);
}