我在尝试使用React版本15.2.0中的这两个函数时,发现了代码中的一个问题,尽管我找到了一种解决方法,但我想知道是否有更好的解决方案。
//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不是一个函数。我发现这是因为这个新版本的React需要react-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不是一个函数。 我所做的是添加另一个需要React的变量,即
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?
欢迎任何想法和评论 ;)