Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Código não está funcionando

Estou escrevendo o código como no vídeo, mas não está funcionando. O que pode ser feito? Parece que a versão atual do flutter não é mais compatível com alguns trechos de códigos do vídeo do curso.

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

void main() => runApp(
      Column(
        children: const <Widget>[
          Text(
            'Deliver features faster',
            textDirection: TextDirection.ltr,
          ),
          Text(
            'Craft beautiful UIs',
            textDirection: TextDirection.ltr,
          ),
          Text(
            'Craft beautiful UIs',
            textDirection: TextDirection.ltr,
          ),
          Column(
            children: <Widget>[
              Text(
                'Craft beautiful UIs',
                textDirection: TextDirection.ltr,
              ),
            ],
          )
        ],
      ),
    );

E esse é o erro que está me retornando.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Como a mensagem diz, você está chamando um construtor dentro de uma expressão contante. Remova o const de children pois com ele você torna todos os filhos constantes:

void main() => runApp(
      Column(
        children:  <Widget>[

Boa noite

Ao invés de tornar o children "const" coloque "const" nos filhos (Text). Assim vc resolve o problema de forma lógica.

Se vc somente retirar a const seu VS Code vai ficar reclamando. Isso não é a melhor solução.

Faça isso:

import 'package:flutter/material.dart';
void main() {
  runApp(
    Column(
      children: <Widget>[
        const Text(
          'Deliver features faster',
          textDirection: TextDirection.ltr,
        ),
        const Text(
          'Craft beautiful UIs',
          textDirection: TextDirection.ltr,
        ),
        Column(
          children: const [
            Text('text', textDirection: TextDirection.ltr,)
          ],
        )
      ],
    ),
  );
}

Faça isso sempre que precisar colocar um componente construtor dentro de um componente constante. Veja no segundo Column vc pode usar const direto no children pois dentro dele não tem nenhum filho com construtor.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software