These discussions are so tiring.
React has as much two way binding as vue - in vue v-model is just syntactic sugar for setting up event listeners and setting the value on an input element.
Per the docs [0]
<input v-model="searchText" />
Becomes
<input
:value="searchText"
@input="searchText = $event.target.value"
/>
It's such a small thing that it's crazy it's being discussed this much.
[0] https://vuejs.org/guide/components/v-model.html