Non interceptée (promettre) TypeError: Cannot read property 'createElement' undefined(...)
J'avais besoin de revoir mon apatrides composante fonctionnelle à une classe. Quand j'ai fait tellement de bien, je reçois un message d'erreur où il ressemble à Réagir lui-même n'est pas défini.
import React from 'react';
import { Cell } from 'fixed-data-table';
const DataCell = ({rowIndex, columnKey, data, onMessageClicked, ...props}) => {
return (
<Cell {...props} onClick={onMessageClicked(data[rowIndex].Id)}>
{data[rowIndex][columnKey]}
</Cell>
);
};
export default DataCell;
à
import { React, Component } from 'react';
import { Cell } from 'fixed-data-table';
class DataCell extends Component {
onCellClicked() {
this.props.onMessageClicked(this.props.data[this.props.rowIndex].Id);
}
render() {
const {rowIndex, columnKey, data, ...props} = this.props;
return (
<Cell {...props} onClick={onCellClicked}>
{data[rowIndex][columnKey]}
</Cell>
);
}
}
export default DataCell;
bundle.js:43248 Uncaught (in promise) TypeError: Cannot read property 'createElement' of undefined(…)
et quand je vais à la ligne, je vois
return _react.React.createElement(
Je ne l'obtenez pas. Comment puis-je debug/résoudre ce problème?
Mon code complet de cette application est ici dans le cas où le code je poste n'est pas liée d'une certaine manière.
Merci!
Vous devez vous connecter pour publier un commentaire.
Oh...
import { React, Component } from 'react';
doit être
import React, { Component } from 'react';
🙂
L'OP a répondu à la question elle-même, mais avec pas de raison donc voilà la raison!
{Directement citant https://github.com/facebook/react/issues/2607#issuecomment-225911048" }
est incorrect, devrait être
Il n'est pas nommé à l'exportation nommé Réagir. Il est source de confusion en raison de Réagir est CommonJS module, et puisque vous êtes à l'aide de ES6 importations, Babel essaie de carte de la sémantique, mais ils ne correspondent pas exactement. { Component } en fait l'accaparement des Composants de Réagir lui-même de sorte que vous pourriez juste:
et l'utilisation
React.Component
à la place si c'est moins à confusion.Pour moi en caractères d'imprimerie la solution était:
types: ['node']
aidera aussi.