В приложении есть 2 компонента, один выводит переменную, другой изменяет ее значение:
class Header extends React.Component {
constructor() {super();}
render() {return <div>{this.props.name}</div>}
}
class Catalog extends React.Component {
constructor() {super();}
render() {return <div onClick={this.props.changeName} >click</div>}
}
class App extends Component {
constructor() {
super();
this.state = {
name:'test',
}
this.changeName = this.changeName.bind(this);
}
changeName(){
this.state.name = 'new name';
this.setState({name: this.state.name});
}
render() {
return <div>
<Header name={this.state.name} />
<Catalog name={this.state.name} changeName={this.changeName} />
</div>
}
}
Компонент Catalog нужно выводить только на одной странице, делаю так
https://webformyself.com/odnostranichnye-prilozhen...
render App теперь выглядит так:
return (
<div>
<Header name={this.state.name} />
<Menu />
<Content />
</div>
);
content:
const Content = () => {
return (
<Switch>
<Route exact path="/" component={pageIndex} />
<Route path="/cart" component={pageCart} />
</Switch>
)
}
Как на странице сделать вызов
<Catalog name={this.state.name} changeName={this.changeName} />
?
Прошу хотя бы намекнуть, куда копать.