Я нашел проблему в своем коде, когда пытался использовать эти две функции в моей версии 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 нуждается в реагировании, то есть
//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.createElement?
-
Это из-за этой новой версии React?
-
Есть ли лучший подход для решения этих проблем без необходимости ссылаться на реакцию и реагировать?
Любые мысли и комментарии приветствуются;)