reactjs - example - react create component
Advertencia: React.createElement: el tipo no debe ser nulo ni indefinido (1)
La advertencia viene de
var ItemDelegate = React.createFactory(ListViewChildren);
ListViewChildren
se define a continuación, por lo que React no puede crear la fábrica.
Simplemente mueva la var ListViewChildren = ...
arriba y la advertencia desaparecerá.
También tiene un problema en la clase ListView
: sus items
deben ser niños y no accesorios:
// items as props (2nd arg): won''t work, html elements don''t have props :)
return (React.createElement(''ul'', items));
// items as children (3rd arg) should work better
return (React.createElement(''ul'', null, items));
Código completo: http://jsfiddle.net/Lmb7t9pv/2/
Esperando que el código a continuación adjunte una lista desordenada y sus nodos <"li" />
al documento.body, está bien con <"ul" />
pero sin ningún niño y con un mensaje de error en la consola:
React.createElement: type should not be null or undefined. It should be a string (for DOM elements) or a ReactClass (for composite components).
(React.js ver.0.13)
var ListView = React.createClass({
render: function() {
var items = this.props.data.map(function(item) {
return ItemDelegate({key:item.id, data:item.id});
}.bind(this));
return (React.createElement(''ul'', null, items));
}
});
var ItemDelegate = React.createFactory(ListViewChildren);
var ListViewChildren = React.createClass({
render: function(){
return (React.createElement(''li'', {key: this.props.key, data: this.props.data}));
}
});
var Wrapper = React.createClass({
render: function() {
return (React.createElement(ListView, {data: [/*some data*/]}));
}
});
React.render(React.createElement(Wrapper), document.body);
¿Qué tipo es y dónde se debe declarar el tipo indicado? Supongo que hay un malentendido total del concepto en alguna parte, pero ¿dónde?