说起来苹果原生输入法真的有毒
TextField只有在iOS原生输入法拼音情况下会有这种情况,iOS第三方输入法就不会有这种问题,安卓更是没有,网上找了半天也没有(也可能是我觉得不对)
后来分析了一下,发现会触发两次,但为什么别的输入法不会呢
我想着先调试一下,发现onChange中有setState刷新方法,我觉得这应该是唯一的可能性,于是尝试着改了一下,把setState注释掉了,发现真的可以了.想想应该是iOS原生输入法和别的输入法机制不一样
其他拼音输入法都是在键盘的上方进行拼写,iOS原生输入法是在输入框中进行拼写,每次的刷新导致重置了在输入框中的拼写动作
想直接看答案的朋友:
注释掉监听输入的刷新动作(onChange)