2017-01-19 2 views
11

मैंने हाल ही में अपने एंड्रॉइड स्टूडियो और कई घटकों/एसडीके को अपडेट किया है और तब से रिएक्ट-इंटेल intl लाइब्रेरी गायब होने के बारे में शिकायत करता है, भले ही यह पहले ठीक काम कर रहा था।एंड्रॉइड डिवाइस पर रीएक्ट-नेटिव और इंटेल पॉलीफिल आवश्यक है

मैंने intl पॉलीफिल स्थापित किया है और मैं इसे अपनी मुख्य फ़ाइल App.js के शीर्ष पर आयात करता हूं। मैं react-intl से localeData आयात करता हूं और इसे जोड़ता हूं।

import 'intl'; 
import { IntlProvider, FormattedNumber, addLocaleData } from 'react-intl'; 
import en from 'react-intl/locale-data/en'; 

addLocaleData(en); 

[...] 

render() { 
    return (
     <IntlProvider locale="en"> 
      <Text> 
       <FormattedNumber value={123} /> 
      </Text> 
     </IntlProvider> 
    ) 
} 

मैं निम्नलिखित त्रुटि मिलती है:: तो फिर, मैं IntlProvider कोई संदेश के साथ locale निर्दिष्ट करने के भीतर मेरे विचार (मैं केवल अब के लिए FormattedNumber का उपयोग करें)

यह मेरा कोड का एक सरलीकृत संस्करण है प्रस्तुत करना

[React Intl] Error formatting number. ReferenceError: No locale data has been provided for this object yet.

enter image description here

मुझे समझ नहीं आता क्या हो रहा है। किसी को भी एक ही समस्या का सामना करना पड़ता है?

धन्यवाद

उत्तर

9

react-intl से स्थान-डेटा आयात करने के बजाय, मैं इस मुद्दे polyfill और intl

से स्थान डेटा आयात करने का समाधान कर लिया स्थापित intl

npm install intl 

बहुत पर इस जोड़े आपके ऐप के शीर्ष:

import 'intl'; 
import 'intl/locale-data/jsonp/en'; 
+3

मेरा पूरा जीवन बचाने के लिए धन्यवाद। – Suho

2

शीर्ष पर है, यह अब शीर्ष पर import 'intl'; कर रहा है और अभी भी लोकल-डेटा को react-intl से लोड कर रहा है। निम्नलिखित संस्करणों का उपयोग करना:

"intl": "^1.2.5", 
"react-intl": "^2.2.2", 
+1

यह "प्रतिक्रिया-इंटेल" के साथ भी काम करता है: "^ 2.3.0" – Mati

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