我在我的React版本15.2.0中嘗試使用這兩個函數時,在代碼中發現了一個問題,但是,我找到了解決方法但我想知道是否有更好的解決方案。ReactJS:React.render不是函數,而React.createElement也不是函數
//app.jsx
var React = require('react');
var ThumbnailList = require('./thumbnail-list');
var options = {
ThumbNailData: [{
title : 'Download the ISO',
number : 32,
header : 'Learning React',
description: 'The best library for creating fast and dynamic websites.',
imageUrl : 'image source'
},{
title : 'Download the ISO',
number : 64,
header : 'Learning Gulp',
description: 'Speed your development framework!',
imageUrl : 'image source'
}],
};
var element = React.createElement(ThumbnailList,options);
React.render(element, document.querySelector('.container'));
所以,每當我嘗試運行我的index.html文件顯示任何內容,但是這第一個錯誤進入控制檯:React.render不是一個函數。我發現,這是因爲這個新版本的需求做出反應的反應-DOM,也就是
//app.jsx
var React = require('react-dom');
var ThumbnailList = require('./thumbnail-list');
var options = {
ThumbNailData: [{
title : 'Download the ISO',
number : 32,
header : 'Learning React',
description: 'The best library for creating fast and dynamic websites.',
imageUrl : 'image source'
},{
title : 'Download the ISO',
number : 64,
header : 'Learning Gulp',
description: 'Speed your development framework!',
imageUrl : 'image source'
}],
};
var element = React.createElement(ThumbnailList,options);
React.render(element, document.querySelector('.container'));
現在問題解決,但現在來的第二個問題,當您嘗試再次運行中的index.html:React.CreateElement不是一個函數。我所做的就是再添變數,需要作出反應,也就是
var React = require('react-dom');
var React2 = require('react');
var ThumbnailList = require('./thumbnail-list');
var options = {
ThumbNailData: [{
title : 'Download the ISO',
number : 32,
header : 'Learning React',
description: 'The best library for creating fast and dynamic websites.',
imageUrl : 'image-source'
},{
title : 'Download the ISO',
number : 64,
header : 'Learning Gulp',
description: 'Speed your development framework!',
imageUrl : 'image-source'
}],
};
var element = React2.createElement(ThumbnailList,options);
React.render(element, document.querySelector('.container'));
在幾句話,解決React.render
var React = require('react-dom')
的問題解決React.createElement
的問題var React2 = require('react')
我的問題是:
爲什麼react-dom使用React.createElement創建問題?
是因爲React的這個新版本嗎?
有沒有更好的方法來解決這些問題而不必調用react-dom並做出反應?
有什麼想法和意見是值得讚賞;)
我有一個類似的錯誤/修復。我有 從「react-native」導入React,{Text,TouchableHighlight}; 並將其更改爲 導入從'反應'反應; 從「react-native」導入{Text,TouchableHighlight}; –