2017-04-24 2 views
1

Ich verwende bellow babelrc Einstellung.So beheben Sie unerwartete Token-Fehler?

{ 
"presets": ["es2015", "react"] 
} 

dann, ich, wenn ich verwenden ... Reduzierungen ich unerwarteten Token Fehler. Wissen Sie, wie Sie es lösen können? Ich habe erwartet, dass Ursache Reduzierer Einstellung ist. Und wenn ich 'stage-1' auf babelrc hinzufügen. es kann auflösen. Aber ich möchte es nicht hinzufügen. Bitte sag es mir, außer dass du 'stage-1' auf babelrc hinzufügst.

Danke!

index.js

import React from 'react'; 
import ReactDOM from 'react-dom'; 
import { createStore, combineReducers, applyMiddleware, compose } from 'redux'; 
import { Provider } from 'react-redux'; 
import { Router, Route, IndexRoute, browserHistory } from 'react-router'; 
import { syncHistoryWithStore, routerReducer } from 'react-router-redux'; 
import thunk from 'redux-thunk'; 
import * as storage from './persistence/storage'; 
import randomToken from './utlis/random'; 
import getPastDays from './utlis/pastFutureDays'; 
import * as reducers from './reducers'; 
import { 
    App, 
    Home, 
} from './components'; 
import style from './css/style.css'; 

const reducer = combineReducers({ 
    ...reducers, 
    routing: routerReducer, 
}); 

./reducers/application.js

import { REGISTER_TOKEN } from '../constants'; 

const initialState = { 
    token: null, 
    createdAt: null, 
}; 

export default function access(state = initialState, action) { 
    if (action.type === REGISTER_TOKEN) { 
    return { token: state.token }; 
    } 
    return state; 
} 

./reducers/index.js

export { default as cityForecast } from './cityForecast'; 
export { default as application } from './application'; 

Antwort

1

Die o bject Verbreitung Betreiber für die nächsten Versionen von JavaScript vorgeschlagen, die Sie (...) Operator verwenden, um die Ausbreitung lässt auf zählbare Eigenschaften von einem Objekt zum anderen in eine prägnante Art und Weise zu kopieren.

Leider ES6 Spread-Operator funktioniert nur mit Arrays.

Wenn Sie nicht wollen, dass für babel Preset hinzufügen, können Sie Object.assign stattdessen verwenden.

So können Sie Ihre Reduzierungen in der folgenden Art und Weise kombinieren:

const reducer = combineReducers(
    Object.assign(reducers, {routing: routerReducer}) 
); 

Sie hier weitere Informationen finden https://googlechrome.github.io/samples/object-assign-es6/

+0

Uhmm, ich versuche, so zu schreiben. –

+0

'const reducerData = Object.assign ({}, reducers); \t const Minderer = combineReducers ({ \t reducerData, \t Routing: routerReducer, \t}); ' Aber ich kann es immer noch nicht lösen. Mache ich Fehler beim Schreiben? –

+0

Ah, ich kann verstehen, wie man es löst. Vielen Dank! –

Verwandte Themen