I have the following code as part of my React component:
I think your problem might be caused by this line:
value={task.user_id}
The select will always show that as a value regardless of what was selected.
If your onUserChanged function is right you should see the right value in being selected on the server or on the console, but the client will always see that task.user_id.
Otherwise everything else seems right in your code.