Вы должны обернуть this.updateTitle
в функцию стрелки, как показано ниже. Затем вы можете вызвать updateTitle из DashBoardPage.
<Route
path="/dashboard"
render={() => (<DashBoardPage updateTitle={(title) => this.updateTitle(title)} />)}
title="Dashboard"
/>
Например, ваш компонент DashBoardPage может выглядеть примерно так, как показано ниже. Вызывая updateTitle, который мы передали как реквизит, мы меняем заголовок в родительском компоненте.
DashBoardPage.js
const DashBoardPage = ({ updateTitle }) => {
updateTitle('paymentPage');
return <div>This is the dashboard page</div>;
};
Однако я бы настоятельно рекомендовал не делать этого. Лучшим подходом было бы иметь компонент Page. Затем DashBoardPage и PaymentPage возвращают компонент Page и передают заголовок как prop.