2016-07-07 75 views
29

我得到这个代码的错误。但是,更改为react-native可以消除错误。你可以使用div与react-native?如果没有,为什么这个错误如此晦涩......?期望一个组件类,得到[对象对象]

var React = require('react'); 
var ReactNative = require('react-native'); 
var { 
    StyleSheet, 
    Text, 
    View, 
} = ReactNative; 

let Auto = React.createClass({ 
    getInitialState: function() { 
    return { value: 'Ma' } 
    }, 
    render: function() { 
    return (
     <div className="fuck-react"> 
     Blah blah blah 
     </div> 
    ) 
    } 

});

+2

在React-Native中,View取代Div,所以更好地使用View! – Dlucidone

回答

28

不,您不能在react-native中使用div标记。由于react-native基于JSX语法,通过抽象Dom分析器自动分配给本地组件。你可以在这里得到你的答案:https://facebook.github.io/react-native/docs/tutorial.html

此外,react-native更新到0.29的新版本,您可能应该忽略旧的ECMA脚本并使用新的ECMA脚本进行JavaScript语法。因为,react-native使用reactjs为它的javascript,所以最好从这里学习:http://reactjs.net/guides/es6.html

+1

有更新的版本可用于react-native:0.29。请点击此处:[升级到最新版本](https://facebook.github.io/react-native/docs/upgrading.html) – Riten

+0

感谢您的解释。打包机是否会自动查找扩展名为jsx的文件?这个问题的版本是什么? 0.29是否提供更好的错误? – Drew

+0

React-native应用程序主要基于语法,所以在react-native版本中升级时,语法的变化是预先确定的。所以,我们应该在开发应用程序的同时适应JSX语法的变化。 –

6

而不是DIV使用View。

<View style={{flex: 1}}> 
     <Text>Blah blah blah</Text> 
</View> 
1

你不能在反应本机。改用原生组件。

<View> 
    <Text>text text text</Text> 
</View> 

不要忘了之前导入:

import { 
    Text, 
    View 
} from 'react-native'; 
0

您可以在阵营本机应用程序使用ReactJS组件。我意外地在React Native项目中安装了一个包含<div>标签的组件。

相关问题