2016-12-14 13 views
7

तो मैं से https://facebook.github.io/react/blog/2016/07/22/create-apps-with-no-configuration.htmlmobx + प्रतिक्रिया अप्रत्याशित टोकन

विन्यास बिना प्रतिक्रिया के साथ मैं mobx स्थापित किया है और mobx प्रतिक्रिया, लेकिन अभी भी @ symb से पहले अप्रत्याशित टोकन की त्रुटि से पता चलता है एक एप्लिकेशन बनाया।

मैं कुछ और जोड़ने के लिए, या अपने मौजूदा विन्यास गलत है की जरूरत है? :(

package.json

"devDependencies": { 
"react-scripts": "0.8.4", 
"babel-core": "^6.7.6", 
"babel-loader": "^6.2.4", 
"babel-preset-es2015": "^6.6.0", 
"babel-preset-react": "^6.5.0", 
"babel-preset-stage-0": "^6.5.0" 
}, 
"dependencies": { 
"autobind-decorator": "^1.3.4", 
"classnames": "^2.2.5", 
"lodash": "^4.15.0", 
"mobx": "^2.5.1", 
"mobx-react": "^3.5.5", 
"react": "^15.3.1", 
"react-dom": "^15.3.1", 
"validator": "^5.6.0" 
}, 

{ 
    "presets": ["es2015", "stage-0", "react"], 
    "plugins": [ 
     "transform-decorators-legacy", 
     "transform-class-properties" 
    ] 
} 

.babelrc और कोड

import React, { Component } from 'react'; 
import { action, observable } from 'mobx' 
import {observer} from 'mobx-react'; 


class App { 
    @observer cake = []; 
} 

export default new App(); 
+0

के लिए निम्न कोलाहल विन्यास जोड़ने '@ observer' अपने प्रतिक्रिया घटकों के लिए इस्तेमाल किया डेकोरेटर है। यदि आप अवलोकन योग्य डेटा चाहते हैं, तो आपको सजावटी '@ अवलोकन योग्य' का उपयोग करना चाहिए। – Tholle

+0

जो भी मैं उपयोग करता हूं, जब मैं @ symb का उपयोग करता हूं तो यह वहां बंद हो जाता है। तो मुझे लगता है कि mobx ठीक से स्थापित नहीं है –

+1

ओह, मुझे गलत समझा। मुझे लगता है कि ऐसा इसलिए है क्योंकि create-react-app सजावटी ('@') का समर्थन नहीं करता है। मुझे नहीं लगता कि मोबक्स यहां अपराधी है। आप इसके बजाय [** mobx-react-boilerplate **] (https://github.com/mobxjs/mobx-react-boilerplate) आज़मा सकते हैं। – Tholle

उत्तर

8

create-react-app सजावट का समर्थन नहीं करता है (@)। आप या तो eject इसे स्वयं जोड़ने के लिए create-react-app बना सकते हैं, स्क्रैच से अपना स्वयं का वातावरण स्थापित कर सकते हैं, या mobx-react-boilerplate जैसे कुछ शुरुआती बिंदु के रूप में उपयोग कर सकते हैं।

मैंने व्यक्तिगत सफलतापूर्वक react-app-rewiredmobx extension के साथ बड़ी सफलता के साथ उपयोग किया है।

+0

मैंने सीआरएनए के साथ स्टार्टर किट बनाया है कि अगर नोडजेस 6.0 के साथ प्रयोग किया जाता है तो सजावट के साथ पूरी तरह से काम करता है, इसके लिए प्रोजेक्ट प्रलेखन https://wcandillon.github.io/react-native पर उपलब्ध है -do-document/docs/ – wcandillon

4

आप सिंटैक्स का उपयोग कर सकते हैं जो कि सजावटी (here और here) का उपयोग नहीं करता है।

यहाँ एक उदाहरण आपके द्वारा दी गई एप्लिकेशन कक्षा कोड का उपयोग है:

import React, { Component } from 'react'; 
import { action, extendObservable } from 'mobx' 
import {observer} from 'mobx-react'; 


class App { 
    constructor() { 
    extendObservable(this, { 
     cake = [], 
    }); 
    } 
} 

export default new App(); 
1

आप npm run eject चलाने के बाद संकुल याद कर रहे हैं (के रूप में बनाने के प्रतिक्रिया-ऐप सज्जाकार समर्थन नहीं करता)।

भागो npm install --save-dev babel-plugin-transform-decorators-legacy babel-plugin-transform-class-properties

फिर अपने package.json

"babel": { 
    "plugins": [ 
    "transform-decorators-legacy" 
    ], 
    "presets": [ 
    "react-app" 
    ] 
}, 
+0

मुझे लगता है कि आपको 'ट्रांसफॉर्म-क्लास-गुण' को बेबेल प्लगइन्स सरणी में भी जोड़ना होगा। –

संबंधित मुद्दे