Чтобы создать многоразовый виджет во Flutter, вы можете использовать различные методы. Вот несколько примеров:
Метод 1: создание пользовательского виджета без состояния
import 'package:flutter/material.dart';
class CustomWidget extends StatelessWidget {
  final String text;
  CustomWidget({required this.text});
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text(text),
    );
  }
}
Использование:
CustomWidget(text: 'Hello, World!');
Метод 2: создание пользовательского виджета StatefulWidget
import 'package:flutter/material.dart';
class CustomWidget extends StatefulWidget {
  final String text;
  CustomWidget({required this.text});
  @override
  _CustomWidgetState createState() => _CustomWidgetState();
}
class _CustomWidgetState extends State<CustomWidget> {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text(widget.text),
    );
  }
}
Использование:
CustomWidget(text: 'Hello, World!');
Метод 3: расширение существующего виджета
import 'package:flutter/material.dart';
class CustomWidget extends TextField {
  final String hintText;
  CustomWidget({required this.hintText});
  @override
  Widget build(BuildContext context) {
    return TextField(
      decoration: InputDecoration(
        hintText: hintText,
      ),
    );
  }
}
Использование:
CustomWidget(hintText: 'Enter your name');
Метод 4: использование виджета Builder
import 'package:flutter/material.dart';
class CustomWidget extends StatelessWidget {
  final String text;
  CustomWidget({required this.text});
  @override
  Widget build(BuildContext context) {
    return Builder(
      builder: (BuildContext context) {
        return Container(
          child: Text(text),
        );
      },
    );
  }
}
Использование:
CustomWidget(text: 'Hello, World!');
Это всего лишь несколько примеров создания многоразовых виджетов во Flutter. Выбор метода зависит от ваших конкретных требований и сложности виджета, который вы хотите создать.