Open pm5 opened 6 years ago
為了 #65 的拖拉功能,需要透過 ref 對 Konva 實作 dragenter
與 dragleave
events,於是需要昇級 types。結果有點複雜,接近人類一般狀況下記憶力的極限。以下筆記:
@types/react
某個版本之後才有 createRef
createRef
看起來 Konva 的一些功能就不能用@typees/react
跟 @types/react-dom
要一起昇。昇完可能要砍掉 node_modules
和 yarn.lock
重裝才能得到好的 yarn lockredux-thunk@2.3.0
只能搭 redux@4
,要留在 redux@3
就要定在 redux-thunk@2.2.0
semantic-ui-react
會爆炸,要昇到 0.81.1 以上才有 fix以上都做完以後會跑出
/Users/pm5/src/sensetw/sensetw/sensemap/src/components/Inbox/Card/index.tsx
(40,23): Property 'card' does not exist on type 'IntrinsicAttributes & IntrinsicClassAttributes<Component<{}, ComponentState, any>> & Readonly<{ children?: ReactNode; }> & Readonly<{}>'.
好奇是否可以用 callback ref ?之前我是這樣拿到 Konva node 的: https://github.com/SenseTW/sensetw/blob/89d0ea5c3c32abc82aca69406a1ae3b214e4867f/sensemap/src/components/Map/Tag/index.tsx#L2 https://github.com/SenseTW/sensetw/blob/89d0ea5c3c32abc82aca69406a1ae3b214e4867f/sensemap/src/components/Map/Tag/index.tsx#L30 https://github.com/SenseTW/sensetw/blob/89d0ea5c3c32abc82aca69406a1ae3b214e4867f/sensemap/src/components/Map/Tag/index.tsx#L61-L63
在 action-type branch 中,為了 ThunkDispatch
,我升過 redux-thunk
和 redux
,看來無大礙。
deleteXXX
全部改成removeXXX
,因為delete
是 JavaScript 的 keyword 所以 TypeScript 會不開心。cc #76Map/Card
和Map/Box
裡處理拖拉的邏輯(包含newlySelected
state)抽出來變成獨立的 component,讓這些 object component 恢復為 pure function。