Ho trovato un problema nel mio codice quando stavo cercando di utilizzare queste due funzioni nella mia versione di React 15.2.0, tuttavia, ho trovato una soluzione alternativa ma mi piacerebbe sapere se c'è una soluzione migliore.ReactJS: React.render non è una funzione e React.createElement non è una funzione
//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'));
Così, ogni volta che provo a eseguire il mio file index.html nulla viene visualizzato, ma questo primo errore entra nella console: React.render non è una funzione. Ho trovato che questo si verifica perché questa nuova versione del Reagire esigenze reagire-dom, cioè,
//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'));
Ora il problema è risolto, ma ora viene il secondo problema quando si tenta di eseguire nuovamente l'index.html: React.CreateElement non è una funzione. Quello che ho fatto è stato quello di aggiungere un'altra variabile richiedendo reagire, cioè,
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'));
In poche parole, per risolvere il problema di React.render
var React = require('react-dom')
per risolvere il problema di React.createElement
var React2 = require('react')
Le mie domande sono:
Perché il reag-dom ha creato il problema con React.createElement?
È a causa di questa nuova versione di React?
Esiste un approccio migliore per risolvere questi problemi senza dover invocare la reazione e reagire?
Tutti i pensieri e commenti sono apprezzati;)
Ho avuto un errore/correzione simile. Avevo import React, {Text, TouchableHighlight} da "react-native"; e modificato in import Reagire da "reagire"; importare {Text, TouchableHighlight} da "react-native"; –