evt.stopPropagation() should be called first
because some race conditions or some process take long then evt.stopPropagation()
may be late.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import * as React from 'react'; | |
/* eslint-disable import/no-extraneous-dependencies */ | |
import { storiesOf } from '@storybook/react'; | |
import { action } from '@storybook/addon-actions'; | |
import MyComponent from './index'; | |
storiesOf('component', module).add('MyComponent', () => ( | |
<MyComponent onChange={action('onChange')} /> | |
)); |
title | categories | tags | date | |||
---|---|---|---|---|---|---|
使用 Jenkins 持续集成 |
|
|
2018-05-31 11:15:56 -0700 |
私有项目(INSUITE CMS),使用 GitHub enterprise。
Client alway use string, the format handle timezone, like: YYYY-MM-DDTHH:mm:ss:SSSZ
Backend handle timezone, graphql date should have a formatString
function. like Gatsby Graphql
- 开发时应该时刻保持清醒, 知道自己在做 “Feature” 或者 “Fix”, 精准切换思考模式。
- Don't deploy near to demo time.
- 每一个 commit 都必须保证可以运行。
- 真正的高手都知道“术业有专攻”。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function usePrevious(value) { | |
const ref = React.useRef(); | |
React.useEffect(() => { | |
ref.current = value; | |
}); | |
return ref.current; | |
} | |
const prevEntity = usePrevious(entityType); |