簡體   English   中英

Uncaught SyntaxError:意外的令牌導出(Redux)

[英]Uncaught SyntaxError: Unexpected token export (Redux)

我正在嘗試通過以下代碼創建一個reducer,但在控制台中卻不斷收到此錯誤:

未捕獲到的SyntaxError:意外的令牌導出

const INIT_STATE = [];

export default (state = INIT_STATE, action) {

  switch(action.type) {
    default: state
  }
}

我仍在嘗試解決redux的問題,並且不知道如何解決此錯誤。

當您在同一個文件上進行多個導出並將默認導出添加到其中一個文件時,就會發生這種情況,因此解決方案是使用export default導出一個模塊,或者如果您要導出多個對象,函數,則僅export ...等在同一文件中

另外要提到的是您調用函數的方式,es6引入了箭頭函數

代替這個(arg1 , arg2 ){ .... }您應該這樣做(arg1 , arg2 ) => {.....}

所以對於你的情況

   const INIT_STATE = [];

export (state = INIT_STATE, action) => {

switch(action.type) {
    default: state
  }
}

我的猜測是您正在嘗試運行該代碼而不先對其進行編譯。 在大多數環境中,ES6導入/導出語法仍然不受本機支持-必須先使用Babel將ES6模塊首先編譯為另一種格式。

這是不正確的語法。 您需要在函數簽名之前添加function關鍵字,或者將其定義為箭頭函數(如Sam建議的那樣)。

即, export default function (state = INIT_STATE, action) {...}export default function (state = INIT_STATE, action) {...} export default (state = INIT_STATE, action) => {...} ,而不是export default (state = INIT_STATE, action) {...}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM