я получаю эту ошибку при тестировании моего ToDoList компонента:Реагировать компонентные держит неудачу
debug.html: 38
Инвариантных Нарушения:
Типа элемента недействителен:
ожидается строка (для встроенного -in) или класс/функция (для составных компонентов), но получили: object.
Я не уверен, что вызывает его. Может ли кто-нибудь привести меня в правильном направлении?
TodoList.js:
import React from 'react';
import Todo from 'Todo';
class TodoList extends React.Component {
renderTodos(todos) {
return todos.map(todo => {
return <Todo key={todo.id} {...todo} />;
});
}
render() {
const { todos } = this.props;
return (
<div>
{this.renderTodos(todos)}
</div>
);
}
}
export default TodoList;
TodoList.test.js:
const React = require('react');
const ReactDOM = require('react-dom');
const TestUtils = require('react-addons-test-utils');
const expect = require('expect');
const $ = require('jQuery');
const TodoList = require('TodoList');
const Todo = require('Todo');
describe('TodoList',() => {
it('should exist',() => {
expect(TodoList).toExist();
});
it('should render one Todo component for each todo item',() => {
const todos = [{
id: 1,
text: "Do something"
}, {
id: 2,
text: "Check mail"
}];
const todoList = TestUtils.renderIntoDocument(<TodoList todos={todos} />);
const todoComponents = TestUtils.scryRenderedComponentsWithType(todoList, Todo);
expect(todoComponents.length).toBe(todos.length);
});
});
Ссылка на исходный код: link to source code
Wow. Я думал, что синтаксисы es5 и es6 полностью эквивалентны и взаимозаменяемы. Я узнал что-то новое. Спасибо. –