mannaro
@mannaro
Умею профессионально гуглить

Как скрестить FlowRouterSSR с React (createContainer)?

Вечер добрый! При разработке проекта споткнулся об "React attempted to reuse markup in a container but the checksum was invalid".
Это и понятно, ибо FlowRouter 4 отказались от subscription wait и вот теперь нам надо рендерить шаблон еще с не пришедшими данными (fast-render почему-то запаздывает на миллисекунды).

Таки вопрос: как сделать, чтобы такая конструкция работала нормально?

import React from 'react';
import { createContainer } from 'meteor/react-meteor-data';
import { mount } from 'react-mounter';
import Items from './collections/items';

const Page = React.createClass({
  render() {
    return <div>{this.props.items.map(item => <div key={item._id}>{item.name}</div>)}</div>;
  }
});

function handler() {
  var data = {};
  var handle = Meteor.subscribe('items');

  if(handle.ready()) {
    data.items = Items.find().fetch();
  } else {
    data.items = [];
  }

  return data;
}

const PageWrapper = createContainer(handler, Page);

FlowRouter.route('/', {
  action() {
    mount(PageWrapper);
  }
});
  • Вопрос задан
  • 277 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы