掘友等级
获得徽章 0
把我厉害坏了,叉会儿腰:
1. 新公司入职需要毕业证学位证原件,让家人在路过村口的客车上带过来,约好上午十点到,我去拿一下;
2. 提前去了15分钟吧,刚好碰到一对夫妻大概有50左右?刚下车就被车站的黑车司机给拦下来说要不要坐车一直在讲价,你一个人30两个人60;
3. 我这不闲着没事干,简单问了下,叔叔阿姨是打工的,要回老家贵州的凯里。因为石家庄的运河桥是有地铁的嘛(2号线),我就建议叔叔阿姨去坐地铁,但是我也不好意思明说怕黑车司机成群结队地打我;
4. 在整个过程中,不断地给阿姨使眼色、打手势,不要坐他的黑车,最终还是把他们给带出来了。(那个黑车司机也警告问我说不要多管闲事);
5. 最后把他们送到地铁站买好票过好安检,但是我忘记叮嘱叔叔阿姨不要坐反方向(有点遗憾,没考虑那么清楚)给他们打电话,但是听不清;
6. 没办法,我又刷了手机进站,但是叔叔阿姨已经做上车了。
总结:
1. 家里老人出远门一定要叮嘱,他们不要坐黑车,进站出站随大溜就行不要站在原地;
2. 临走时叔叔突然给我5块钱,我看到叔叔手里剩下的钱都是1块的,我知道他比100块钱都值钱,5块钱对于农民公的叔叔阿姨来说很多了;
3. 我真是搞不懂黑车司机年纪轻轻的,老老实实市区跑滴滴、出租车不好嘛,非得在车站坑蒙拐骗,一群好吃懒做的
【swagger-codegen-next】
一个根据swagger.json文件生成所有接口文件的node cli工具。
- 支持 restful 风格的 api
- 支持 typescript,输出对应的 dto 文件。
github地址: github.com
官方文档只有npm install -P -D的说明,为何业界都在用-S?
如果你也遇到了svg中一些图形奇怪破损的情况, 不妨试试将元素的fill设为none
Q: [高频面试题] React Hooks 为什么会被引入, 其想要解决什么问题
A:
React Hook 在 16.8 版本被引入, 它可以让你在不使用 class 的情况下使用 state 和其他 React 特性
1. 组件之间难以复用状态逻辑. 此前解决该问题的方法是 render props 个 高阶组件. 这类方式都需要重新的去组织组件结构, 如果你用 React DevTools 看一下应用, 你会发现有很多 provider, consumer, render props 和 高阶组件, 形成了嵌套地域. React Hooks 可以让你在不改变组件结构的情况下复用状态逻辑.
2. 复杂组件变得难以理解. 你可能会在 componentDidMount 和 componentDidUpdate 中发起请求来获取数据. 你可能会在 componentDidMount 中绑定事件, 然后在 componentWillUnmount 取消事件监听. 看到了吗? 绑定事件和取消绑定事件这对本来需要同步去做的事情, 被拆分到了不同的函数中, 并且绑定事件和发起请求这两个不相关的行为被放到了同一个函数里面. React Hooks 将组件中相互关联的部分拆分成更小的函数, 而非按照生命周期进行拆分.
3. class 难以理解, 你必须去理解 this 在 JavaScript 中的运作方式, 这与其他语言有着巨大差异. 没有稳定的语法提案, 这些代码非常冗余. React Hooks 使你在不使用 class 的情况下可以使用更多的 React 特性.
Note: 其实第三点我感触不深, 我对于其他语言没有太多的了解. 至于说稳定的语法提案, 有了 babel, 对于平时的使用也不会有太大的影响.
酝酿了一两年的 webpack 5 终于要来了。如果有经常逛文档的开发者可能会发现,webpack 5 的文档比 webpack 4 有了不少的更新。印记中文从 webpack 1 时代就开始维护 webpack 的文档,对 webpack 5 也不例外。
我们已经重新整理了一部份文档且已经部署好,还有一些文档希望可以招募社区的热心开发者来一起努力,将剩下的翻译完成, 这些仍未翻译的文档,主要集中在 configuration, api, plugins 和 loaders。
如果对 webpack 5 文档翻译感兴趣的朋友,可以用微信扫一扫下面的二维码,加入群聊了解翻译的详情。
新文章:“CSS columns轻松实现两端对齐布局效果” - www.zhangxinxu.com
兜兜转转一大圈,最后发现实现两端对齐布局方式最简单的居然是使用CSS columns多栏布局。例如,我们想要实现3列元素两端对齐,中间间隙是30px,CSS代码为……
有成都的倔友吗?一起玩滑板
React前端状态管理心得
1. 没有银弹,redux也好,mobx也好,react-easy-state也好,能力加强的同时,学习成本,浏览器兼容成本也加大
2. 绝大大数页面的状态理清后,其实也想象中不那么复杂,首要的应该是注意以下几点:
(1)尽可能减少所需的状态(哪些才是真正需要的),很多数据了包含多维度的状态,不要制造状态(混乱),真正重要的是数据,而非状态。深入理解,吃透你的数据。
(2)哪些是计算属性,计算属性(仅get,非set)尤其要提出来,不应该set的一定不要set的,逻辑上可能是同样的状态,但搞好两个状态,并同时去set,会导致真实世界混乱。
3. 组件拆分、属性的传递的逻辑性、正确性和清晰性也是状态管理的一部分,而且其重要性丝毫不亚于纯数据的状态。
(1)正确决定组件的从属关系,并尽量减少不必要的组件。(如同节约dom标签一样)
(2)在上面的前提下,属性的传递可以尽量控制在不要超过2层,这样props的数据流向也一目了解
(3)在jsx里,属性传递的写法应采取始终解构的写法,这样最接近函数参数传递的感觉,如:
<BtnGroup$ {...{ pageTitle, survey }} />
const BtnGroup$ = ({ pageTitle, survey }) => {})
(4)计算属性应尽量由上级组件传给下级,从而使尽可能多的组件成为仅接受props并渲染的纯函数组件。
(5)函数属性传递时有意义的命名至关重要。
4. 勿过度追求完美,尤其是在UI与交互上(最难处理的是动画),要做到完美,需要极其复杂的状态管理,应先有一些效果,在保证不至于把状态搞得一团糟,在完全想清楚了数据的逻辑后,逐步加强。
5. react-global-state-hook的非reducer的用法,细粒度的get、set其实基本够用,尤其对状态变化的跟踪(从代码层面跟踪,选中所有get或set)比redux并不差。
6. 一个应用程序,最最核心的,最最复杂的逻辑,就那么几个,绝不会多,所以对这部分页面代码一定要精益求精,逻辑、结构一定要优雅如水。
下一页