У меня возникли проблемы с решением проблемы с маршрутизатором. Сценарий заключается в том, что мне нужно передать детям маршруты набора реквизитов из основного родительского компонента и маршрута.
то, что я хотел бы сделать, это передать childRouteA его propsA и передать childRouteB его propsB. Тем не менее, единственный способ, которым я могу понять, как это сделать, - передать RouteHandler как propsA, так и propsB, что означает, что каждый дочерний маршрут получает каждую дочернюю опору, независимо от того, соответствует ли она. это не проблема блокировки на данный момент, но я могу видеть время, когда я буду использовать два из того же компонента, что означает, что ключи на propA будут перезаписаны ключами с помощью ключей propB.
# routes
routes = (
<Route name='filter' handler={ Parent } >
<Route name='price' handler={ Child1 } />
<Route name='time' handler={ Child2 } />
</Route>
)
# Parent component
render: ->
<div>
<RouteHandler {[email protected]()} />
</div>
timeProps: ->
foo: 'bar'
priceProps: ->
baz: 'qux'
# assign = require 'object-assign'
allProps: ->
assign {}, timeProps(), priceProps()
Это действительно работает так, как я ожидаю. Когда я ссылаюсь на /filters/time, я получаю компонент Child2. когда я перехожу к /filters/price, я получаю компонент Child1. проблема заключается в том, что, выполняя этот процесс, Child1 и Child2 передаются allProps(), хотя им нужны только реквизиты цены и времени, соответственно. Это может стать проблемой, если эти два компонента имеют одинаковое имя прозвища и вообще не являются хорошей практикой для раздувания компонентов с ненужными реквизитами (так как в моем фактическом случае более двух детей).
, поэтому в сводке, есть ли способ передать RouteHandler timeProps, когда я перехожу на маршрут времени (filters/time) и только передаю priceProps на RouteHandler, когда я иду на маршрут цены (filters/price) и не пропускать все реквизиты для всех маршрутов для детей?