Я создал меню верхней панели, которому нужен доступ к компоненту реакции. Внутри файла topbar я не отображаю другие компоненты, но хотел бы получить доступ к функции внутри одного из компонентов, которые я использую.
Структура проекта выглядит следующим образом:
Header Component
TopBar Component
LayoutWrapper Component <-- Here I render other components
CustomerDetails Component <-- Here sits the functon I want to call.
Это файл TopBar:
class AdminTopbar extends Component {
renderTopMenu() {
...
if (currentPage.projects || currentPage.customers || currentPage.activities) {
return(
<nav>
...
<li>
// Function needs to be called here
{menuPageType == null ? null : <button onClick={updateActivityCardDetails.bind(this)}>Archiveren</button>}
</li>
</nav>
);
}`enter code here`
}
render() {
return (
<div className="topbar clear">
...
</div>
);
}
}
export default withRouter(AdminTopbar);
Файл ActivityCardDetails, в котором находится функция:
class ActivityCardDetails extends Component {
constructor(props){
super(props);
// set page title
document.title = 'Strippenkaarten overzicht';
}
updateActivityCardDetails() {
}
}
Я нашел несколько сообщений о ссылках на родительский объект, но у меня нет вложенной структуры между этими файлами.
Напомним, что для компонентов TopBar, которые являются отдельными компонентами без каких-либо связей, я хотел бы вызвать метод updateActivityCard, который находится в компонентах ActvityCardDetails.