Это просто грубый код, пытающийся убедиться, что данные отправляются между каждым компонентом, так что это я тестирую (файл: navbar. js)
import React from 'react';
import {Nav,} from 'react-bootstrap';
import styles from 'styled-components';
import Layout from './layout';
import Reports from './reports';
const Navbar =() =>{
function handler(x){
if (x==1){
return <Reports></Reports>
}
}
return(
<Nav defaultActiveKey="/" className="flex-column" onSelect={(selectedKey) => <Layout page={selectedKey} func={handler}></Layout>}>
<Nav.Link href="/">Home</Nav.Link>
<Nav.Link href="/Orders">Orders</Nav.Link>
<Nav.Link href="/Users">Users</Nav.Link>
<Nav.Link eventKey='1' href="/Reports">Reports</Nav.Link>
</Nav>
)
}
export default Navbar;
Теперь проблема возникает в классе макетов при попытке чтобы получить доступ к реквизитам (файл: layout. js)
import React, { Component } from 'react';
import {Nav, Col , Row, Container} from 'react-bootstrap';
import styles from 'styled-components';
import Navbar from './navbar';
class Layout extends Component{
render(){
return(
<Container fluid>
<Row>
<Col xs={3}>
<Navbar>
</Navbar>
</Col>
<Col>
{this.props.func(this.props.page)}
colomn 2
</Col>
</Row>
</Container>
)
}
}
export default Layout;
, что я пытаюсь сделать sh - это вернуть компонент, выбранный из панели навигации, используя обработчик для получения eventKey, который хранится в selectedKey после клика в данный момент пытался сделать это для страницы отчета.