[英]React.createClass is not a function, may be webpack compling error
[英]Getting error: “react.createclass is not a function”
我是一個較新的JS開發人員,我正在探索React-Native。 我最近購買了Bonnie Eisenman的“Learning React Native”,我正在開發第一個迷你項目 - 一個非常基本的天氣應用程序。
不幸的是,我無法獲得作者提供的代碼(參見下面的一些代碼,或者在這里看到整個代碼)。 我一直得到錯誤“React.createClass不是一個函數”,盡管我已經看到了許多其他例子,其中這個工作正常。 我花了幾個小時研究並提出問題卻沒有成功。 請幫忙!
var React = require('react-native');
var {
StyleSheet,
Text,
View,
TextInput
} = React;
var WeatherProject = React.createClass({
....
});
module.exports = WeatherProject;
根據react-native docs https://facebook.github.io/react-native/
你應該要求React從'react'而不是'react-native'
並要求你的StyleSheet,Text,View,TextInput來自'react-native'(就像你現在正在做的那樣)
來自文檔:
import React, {
Component,
} from 'react';
import {
TabBarIOS,
NavigatorIOS,
} from 'react-native';
class App extends Component {
render() {
return (
<TabBarIOS>
<TabBarIOS.Item title="React Native" selected={true}>
<NavigatorIOS initialRoute={{ title: 'React Native' }} />
</TabBarIOS.Item>
</TabBarIOS>
);
}
}
這是使用擴展react組件的ES6 / ES2015語法。 你的看起來會更像這樣:
var React = require('react');
var {
StyleSheet,
Text,
View,
TextInput
} = require('react-native');
var WeatherProject = React.createClass({
....
});
module.exports = WeatherProject;
雖然基於您正在進行的對象解構,您已經處於支持ES6的環境中,但最好只使用ES6。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.