簡體   English   中英

得到錯誤:“react.createclass不是函數”

[英]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.

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