3

React todomvc 1からわかるように、UI がモデルに合わせて最新の状態に保たれるようにする 1 つの方法は、UI がすべての変更でレンダリングされるように、(以下に示すように) モデルを render 関数にサブスクライブさせることです。

function render() {
    React.render(
        <TodoApp model={model}/>,
        document.getElementById('todoapp')
    );
}

model.subscribe(render);
render();

アプリで React ルーターを使用する場合、このデモで示されているように、React.render 呼び出しをルーターでラップする必要があります。

Router.run(routes, function (Handler) {
  React.render(<Handler/>, document.getElementById('example'));
});

では、モデルも更新する必要がある場合、Router をどのように使用しますか? React.renderつまり、ルーターとfunction render?の両方をラップする方法です。これにより、スコープに問題が生じます

 function render() {
        Router.run(routes, function (Handler) {
        React.render(
            <TodoApp model={model}/>,
            document.getElementById('todoapp')
        );
        });
    }

    model.subscribe(render);
    render();
4

1 に答える 1