Использование backbone-react-component Я пытаюсь создать список задач. Если вы посмотрите на snipplet при условии, что вы увидите основные переменные tasksList
и tasksListChild
, из которых мой код до сих пор, кажется, отображает до _createTaskChild
Но рендеринг после этого я ничего не имею, буквально, даже не ошибка в окне консоли. Я положил console.log
, чтобы лучше разобраться здесь, где вещи вроде проваливаются? .. console.log(model.get('task_id'));
выйдет на консоль без проблем. console.log('hi')
однако, нет. Я надеюсь, что сюда придет дополнительный набор глаз, которые могут сказать мне, где я испортился.ReactJS Родитель не рендеринг Дети
var tasksListChild = React.createClass({
mixins: [BackboneReactMixin],
render: function() {
console.log('hi')
return (
<span onClick={ this._handleTaskClick }>nothing</span>
);
},
_handleTaskClick: function (event) {
console.log(this.props)
}
});
var tasksList = React.createClass({
mixins: [BackboneReactMixin],
render: function() {
return (
<div className="list-group js__page-list-group-tasks">
{
this.getCollection().map(this._createTaskChild)
}
</div>
);
},
_createTaskChild: function (model) {
console.log(model.get('task_id'));
return (
<a className="list-group-item">
<tasksListChild key={model.get('task_id')} model={model} />
</a>
);
}
});
Что this.getCollection() возвращает массив? –
Его функциональность, предлагаемая mixin, позволяет преодолевать реакцию и позвоночник. Насколько я понимаю, он берет собранную коллекцию, чтобы реагировать, и прикрепляет слушателей к ней, которая будет работать с реакцией. Но в этом же случае в этом случае предполагается, что коллекция передана и использует карту, чтобы разбить ее на отдельные модели для каждого дочернего представления в этом случае, если я правильно понял. – chris
Вам нужно знать, что возвращает getCollection, чтобы вы знали, что вы сопоставляете. Ключ = {model.get ('task_id')} предполагает, что объект имеет встроенную в него функцию get. Это необычно. –