чрезвычайно ново, чтобы отреагировать и простить меня, если это звучит глупо, но я пытаюсь с этим разобраться.
Моя структура компонентов такая:
- Dashboard
- Billing
- Счет
Я хочу, чтобы, когда вы нажимаете ссылку на счет-фактуру внутри биллинга, компонент Invoice отображался внутри div, который находится в Dashboard.
- Dashboard <<<<
- Billing ____^
- Счет-фактура >>>
Я не знаю, верен ли мой подход, и я что-то понял не так, или он полностью неверен, и мне нужно переосмыслить свое понимание.
ЩИТОК ПРИБОРОВ:
<Route
path="/dashboard/billing"
render={() => (
<Billing
togglePanel={this.togglePanel}
fillPanel={this.fillPanel}
/>
)}
/>
BILLING:
<Route
path="/dashboard/billing/invoice/:id"
render={props => (
<Invoice {...props} />
)}
/>
Inside billing there is a list of Links as:
<Link
onClick={event => {
this.props.togglePanel();
}}
className="item"
to={`/dashboard/billing/invoice/${d.id}`}
>
View
</Link>
Итак, ясно, что я использую:
импортировать {Link, Route} из "response-router-dom";
Внутри панели инструментов у меня есть div, который я хочу заполнить компонентом счета.
Функция fillPanel () изменяет состояние в Dashboard, что, в свою очередь, изменяет содержимое целевого div на все, что было передано (это всего лишь моя попытка).
Я знаю, как отображать и скрывать при переключении и т. Д., Так что это не проблема, я просто хочу знать, как заполнить целевой div внутри Dashboard с помощью компонента Invoice, когда он отображается после щелчка по элементу внутри Billing.