<Helmet title={title} />
this.props.match
надо использовать this.props.match.path
. Приношу извинения. Ок, а component={Settings} откуда возьмется?
То есть типо так?
<main className="content">
<div className="title">
<h1>{name}</h1>
<div>1 ссылка</div>
<div>2 ссылка</div>
<div>3 ссылка</div>
</div>
<div className="content">
<Switch>
<Route exact path={`${this.props.match.path}/settings`} component={Settings} />
<Route exact path={`${this.props.match.path}/comments`} component={Comments} />
<Route exact path={`${this.props.match.path}/followers`} component={Followers} />
</Switch>
</div>
</main>
<Route path="/user/:username" component={UserProfileDetail} />
<main className="content">
<div className="title">
<h1>{name}</h1>
<div>1 ссылка</div>
<div>2 ссылка</div>
<div>3 ссылка</div>
</div>
<div className="content">
<Switch>
<Route exact path={`${this.props.match.path}/settings`} component={Settings} />
</Switch>
</div>
</main>
А вообще получается если я сделаю parent компонент, то я смогу использовать все его функции переменные и события в дочерних?
handleSome = () => {
};
constructor(props) {
super(props);
this.handleSome = this.handleSome.bind(this);
}
handleSome() {
}
class Parent extends React.Component {
state = {
filter: '',
data: [],
};
async fetchData() {
const { filter } = this.state;
const { data } = await Api.getPosts(filter);
this.setState({ data });
}
handleFilterChange = filter => {
this.setState({ filter });
fetchData();
};
render() {
const { data, filter } = this.state;
return (
<div>
<Filter filter={filter} handleFilterChange={this.handleFilterChange} />
<List data={data} />
</div>
);
}
}
Вы суть не уловили.