Как получить доступ к внутреннему устройству записи в Show / Edit / Create

Подобно admin-on-rest: доступ к данным столбца строки в компоненте Datagrid, хотя я думаю, что это не относится к моему случаи:

 export const PlantShow = (props) => {
 return (<Show {...props}>
      <TabbedShowLayout>
        <Tab label="Analytics">
            { record.oneId && <MetricsCharts {...props} manufacturer="one" /> }
            { record.otherId && <MetricsCharts {...props} manufacturer="other" /> }
            { record.anotherId && <MetricsCharts {...props} manufacturer="another" /> }
        </Tab>
    </TabbedShowLayout>
 </Show>)
}

Должен быть способ получить доступ к внутренним компонентам текущей записи, чтобы я мог ввести условную логику ... Я не нашел ничего полезного в реквизитах ... Я даже пытался ввести {record} в функцию PlantShow, но это тоже не сработало. Также DependentInput здесь однозначно не помогает

Спасибо!


person Michail Michailidis    schedule 18.10.2017    source источник


Ответы (1)


Вам нужно будет использовать промежуточный компонент как дочерний для Show. Он получит реквизит для записи.

См. https://codesandbox.io/s/wyln51r907posts.js, вокруг компонента PostShow.

person Gildas Garcia    schedule 18.10.2017
comment
В вашем случае это может быть дочерний компонент Tab - person Gildas Garcia; 18.10.2017
comment
Вот что я в итоге сделал: const AllMetricsCharts = ({...props, record }) => ( <div> { record.oneId && <MetricsCharts {...props} manufacturer="one" /> } [...] </div> ); и использовал его как <AllMetricsCharts {...props}/> в Tab - person Michail Michailidis; 18.10.2017