How to correctly use modelUpdate in custom Retool components

Hello everyone! I had some problem when I tried to update my model user data in my custom component. How can I solve this problem? I want to set some reactivity on my input but I can't understand enough. How does modelUpdate works?
Example of my first try:

<input
   className="input"
   type="text"
   value={model.user.first_name}
   onChange={(e) => modelUpdate({ first_name: e.target.value })}
/>

Example of my second try:

<input
   className="input"
   type="text"
   value={model.user.first_name}
   onChange={(e) => modelUpdate({ ...model.user, first_name: e.target.value })}
/>

Hi @Andrii_Mysliuk

Can you try something like this: