title: ReorderableListView throws error when using an extracted widget for itemBuilder?
body: <p>If I use an extracted widget in my <code>ReorderableListView Builder</code> it shows this error <code>Every item of ReorderableListView must have a key.</code> but when I use it as a method inside the builder, it works fine.</p>
  <pre><code>ReorderableListView.builder(
        itemCount: userList.length,
        itemBuilder: (context, index) {
          final user = userList[index];
  
          return WidgetList(user: user);        //Not Working, throws the error
        }, 
        onReorder: (int oldIndex, int newIndex) {
              setState(() {
                final index = newIndex &gt; oldIndex ? newIndex - 1 : newIndex;
                final User user = userList.removeAt(index);
                userList.insert(index, user);
              });},
          );
  
  //if I use this, it works fine
  Widget MethodList(User user) =&gt; ListTile(  
      key: ValueKey(user),
      title: Text(user.firstName),
    );
  </code></pre>
  <p>WidgetList - If I use this, it doesn't work.</p>
  <pre><code>class WidgetList extends StatelessWidget {
    final User user;
    const WidgetList({Key? key, required this.user}) : super(key: key);
  
    @override
    Widget build(BuildContext context) {
      return ListTile(
        key: ValueKey(user),
        title: Text(user.firstName),
      );
    }
  }
  </code></pre>
  <p>EDIT: WidgetList(user) -&gt; WidgetList(user: user)</p>