使用 onChangeText 和 onFocus 改变文本块的样式

Using onChangeText and onFocus to alter style of a text block

参考下面的代码,如何写才能在调用onFocus和onChangeText时,marginTop的值从3变为5?

       <Block>
          <Text marginTop={3}>TEXT</Text>
          <Block>
            <Input
              keyboardType="phone-pad"
              placeholder="Phone number"
              defaultValue={details?.phone}
              onChangeText={(value) => onChange({ phone: value })}
              onFocus?
            />
          </Block>
        </Block>

如有任何提示,我们将不胜感激。提前致谢。

const [move, setMove] = useState(false)
<Block>
  <Text marginTop={3}>TEXT</Text>
  <Block>
    <Input
      keyboardType="phone-pad"
      placeholder="Phone number"
      defaultValue={details?.phone}
      onChangeText={(value) => setMove(true)
      style={move && /* do something*/}
      onFocus?
    />
  </Block>
</Block>

调用 onChangeTextonFocus 时边距会发生变化

 const [changeMargin, setChangeMargin] = useState(false)  ;
    <Block>
                  <Text marginTop={changeMargin ? 5: 3}>TEXT</Text>
                  <Block>
                    <Input
                      keyboardType="phone-pad"
                      placeholder="Phone number"
                      defaultValue={details?.phone}
                      onChangeText={(value) => { if(value !=null && value.length >0){setChangeMargin(true) ;}else{setChangeMargin(false) ;};
 onChange({ phone: value })}}
                      onFocus={()=>{setChangeMargin(true)}}
                    />
                  </Block>
                </Block>