3
respostas

Rota não funcionando corretamente

Olá,

O meu AutorBox não está conseguindo carregar o código da Home, ele apenas aparece o próprio conteúdo dele!

https://imgur.com/a/8jxtg0b

App.js

class App extends Component {

  render() {
    return (


      <div id="layout">

    <a href="#menu" id="menuLink" className="menu-link" >

        <span></span>
    </a>

    <div id="menu">
        <div className="pure-menu">
            <a className="pure-menu-heading" >Company</a>

            <ul class="pure-menu-list">

            <li className="pure-menu-item"><Link to="/" className="pure-menu-link">Home</Link></li>
            <li className="pure-menu-item"><Link to="/autor" className="pure-menu-link">Autor</Link></li>
            <li className="pure-menu-item"><Link to="#" className="pure-menu-link">Livro</Link></li>

            </ul>
        </div>
    </div>

    <div id="main">

                    {this.props.children}

          </div>   
          </div>         


    );
  }
}

Index.js

ReactDOM.render((
        <Router>
            <App>
                    <Switch>            
                        <Route exact path="/" component={Home}/>
                        <Route path="/autor" component={AutorBox}/>
                        <Route path="/livro"/>                
                    </Switch>            
            </App>
        </Router>

), document.getElementById('root'));
registerServiceWorker();

Home.js


export default class Home extends Component{
    render(){
      return (
          <div>
        <div className="header">
          <h1>Bem-vindo ao sistema</h1>
        </div>
        <div className="content" id="content">
        </div>
        </div>
      );
    }
}
3 respostas

Bom dia Luís. Não consegui entender sua pergunta. Pela imagem que você enviou, o endereço é o '/autor', que parece estar de acordo com sua rota, e embora você não tenha postado a classe AutorBox o conteúdo parece estar de acordo com o exercício. Você postou a classe Home, que está no endereço '/', e não contém nada alem de um cabeçalho. Você questiona que o conteúdo da Home deveria aparecer dentro da AutorBox? Ou você não está conseguindo acessar a Home, através do endereço '/' no navegador?

Então, A home deveria aparecer dentro do AutorBox, mas não está acontecendo isso!

De acordo com o seu código, a Home e o AutorBox estão em rotas diferentes. Ambos devem aparecer dentro do componente App, mais precisamente na parte do

{this.props.children}

Não parece fazer sentido que a Home apareça dentro da AutorBox, visto que são duas 'páginas' diferentes.