How to generate unique id in Dart
In year 2020 you can do UniqueKey();
which is a built in class:
https://api.flutter.dev/flutter/widgets/UniqueKey-class.html
Note
A key that is only equal to itself.
This cannot be created with a const constructor because that implies that all instantiated keys would be the same instance and therefore not be unique.
Besides from uuid, you can also try this to generate small unique keys:
https://pub.dev/packages/nanoid
They even have a collision calculator:
https://zelark.github.io/nano-id-cc/
1. There is a UUID pub package:
http://pub.dartlang.org/packages/uuid
example usage:
import 'package:uuid/uuid.dart';
// Create uuid object
var uuid = Uuid();
// Generate a v1 (time-based) id
uuid.v1(); // -> '6c84fb90-12c4-11e1-840d-7b25c5ee775a'
// Generate a v4 (random) id
uuid.v4(); // -> '110ec58a-a0f2-4ac4-8393-c866d813b8d1'
// Generate a v5 (namespace-name-sha1-based) id
uuid.v5(uuid.NAMESPACE_URL, 'www.google.com'); // -> 'c74a196f-f19d-5ea9-bffd-a2742432fc9c'
2. This src has a dart GUID generator
https://github.com/MikeMitterer/AndroidIconGenerator.DART/blob/445884924/lib/src/model/communication/GUIDGen.dart
I'll not post the function src here directly as there is no apparent licence with it, but example usage is as follows:
final String uuid = GUIDGen.generate();