Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

this.state

Olá. uma dúvida. Precisa mesmo replicar o this.state em Autores e Livros? Tem alguma forma de pegar estes dados direto do App.js ao invés de copia-los de novo nas classes Autores e Livros? Não é ruim fazer dessa forma? porque os dados de state do App.js podem ser diferentes dos dados de Autores.js e Livros.js.

this.state = {
            autores: [
                {
                  nome: 'Paulo',
                  livro: 'React',
                  preco: '1000'
                },
                {
                  nome: 'Daniel',
                  livro: 'Java',
                  preco: '99'
                },
                {
                  nome: 'Marcos',
                  livro: 'Design',
                  preco: '150'
                },
                {
                  nome: 'Bruno',
                  livro: 'DevOps',
                  preco: '100'
                },
                {
                  nome: 'Nico',
                  livro: 'Java',
                  preco: '9999'
                }
              ],
              titulo: 'Autores'
        };
5 respostas

Fala ai Jocimar, tudo bem? Não entendi o motivo dessa cópia, realmente o ideal seria pegar o estado do App.js e passar via propriedades para os filhos.

Nesse caso o App seria a fonte de conteúdo para a aplicação.

Espero ter ajudado.

Opa. Mas a sua solução teve essa cópia né? Ou tem alguma coisa que não estou entendendo... Por exemplo a class Livros deveria pegar o estado de App.js né. A sua solução não está fazendo isso pelo que eu entendi.. Ou está? estou confuso nessa parte.

class Livros extends Component {
    constructor(props) {
        super(props);

        this.state = {
            autores: [
                {
                  nome: 'Paulo',
                  livro: 'React',
                  preco: '1000'
                },
                {
                  nome: 'Daniel',
                  livro: 'Java',
                  preco: '99'
                },
                {
                  nome: 'Marcos',
                  livro: 'Design',
                  preco: '150'
                },
                {
                  nome: 'Bruno',
                  livro: 'DevOps',
                  preco: '100'
                },
                {
                  nome: 'Nico',
                  livro: 'Java',
                  preco: '9999'
                }
              ],
              titulo: 'Livros'
        };
    }
solução

Nesse momento do curso os dados estão sendo duplicados dentro do state de cada componente.

Acredito que mais para frente os mesmos virão de uma API e a duplicidade vai ser resolvida.

Foi feito assim apenas para facilitar o desenvolvimento no momento do curso.

Espero ter ajudado.

A entendi. Achei que tivesse algo por trás do react que eu não sabia. Obrigado.

Magina Jocimar, sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.