2017-10-18 67 views
3

我試圖將捕鼠器導入一個簡單的鍵盤綁定的反應項目。我通過紗線安裝了捕鼠器。我沒有導入任何錯誤,但是當我嘗試使用它時,Mousetrap庫對象是未定義的。這是從我的主App.tsx組件在React項目中導入捕鼠器 - 無法讀取未定義的屬性'綁定'

import Mousetrap from 'Mousetrap'; 

export default class App extends React.Component { 
componentDidMount() { 
    Mousetrap.bind(['left'], dataStore.pagination.prev()); 
    Mousetrap.bind(['right'], dataStore.pagination.next()); 
} 

componenentDidUnmount() { 
    Mousetrap.unbind('left', dataStore.pagination.prev()); 
    Mousetrap.unbind(['right'], dataStore.pagination.next()); 
} 

public render() { 

這是我得到的錯誤。 error

我也嘗試啓動一個Mousetrap對象來使用,但我得到這個錯誤(加上沒有什麼文件說我需要)。

const mousetrap: Mousetrap = new Mousetrap(); 

error

我使用的反應,打字稿,mobx,材料,用戶界面和其他幾個庫,我很新的全部。任何意見將是有益的。

謝謝, 邁克 -

回答

1

捕鼠器沒有命名的出口,讓你的名爲import語句將導致undefined。您可以使用以下導入庫:

import * as Mousetrap from 'Mousetrap'; 
+0

優秀。那樣做了。有沒有什麼我可能已經錯過了文件,這將表明這一點?我一直在瀏覽https://craig.is/killing/mice – user3380406

+1

文檔中的任何內容,因爲可能是在命名導入/導出之前編寫的,只是在主入口文件中查看它是如何實現的 – hackerrdave

相關問題