Вызов списка строк из других файлов в Flutter

#flutter

#flutter

Вопрос:

У меня есть список строк в моем файле, который на самом деле вызывается в том же файле, что я хочу сделать, это переместить этот список строк и перейти из другого файла, создающего класс, потому что мне нужно вызвать эти строки из других файлов. Каковы будут наилучшие варианты? Это мой код:

 class CmCategoryList extends StatefulWidget {
  @override
  _CmCategoryListState createState() => _CmCategoryListState();
}

class _CmCategoryListState extends State<CmCategoryList> {
  List<String> names = <String>['Bellezza', 'Moda', 'Capelli', 'Estetica', 'Soldi', 'Finanza', 'Contabilità', 'Viaggi'];



  @override
  Widget build(BuildContext context) {
    return ListView.builder(
      scrollDirection: Axis.horizontal,
        padding: const EdgeInsets.all(8),
        itemCount: names.length,
        itemBuilder: (BuildContext context, int index) {
          return Container(
            width: 100,
            child: Card(
              margin: EdgeInsets.all(2),
              color: Colors.lightBlueAccent,

              child: Center(
                  child: Text('${names[index]}',
                    style: TextStyle(fontSize: 15,fontWeight: FontWeight.w400,color: Colors.white),
                  )
              ),
            ),
          );
        }
    );
  }
}

  

как вы можете видеть, список вызывается методом _CmCategoryListState, я хочу удалить это и переместить такой список в другой файл и вызвать его

Ответ №1:

На мой взгляд, лучший способ — создать новый файл с именем resources.dart

 class Resources {
    static final List<String> NAMES = ['Bellezza', 'Moda', 'Capelli', 'Estetica', 'Soldi', 'Finanza', 'Contabilità', 'Viaggi'];
}
  

Это предполагает, что ваш список никогда не меняется.

Где бы вы ни хотели использовать этот список, просто

 import 'resources.dart'; // In the file you want

Resources.NAMES; // Like this, you can access the list
  

Существуют другие подходы, но я нахожу это лучше, потому что я точно знаю, в каком файле у меня есть список, чтобы я мог внести изменения позже, если потребуется.