我正在编写一个计时器应用程序,在clojurescript中使用反应原生的
android(使用试剂,希望不重要).
我有一个TextInput,我接受用户的文本来命名计时器.每当我的计时器滴答时,整个Android应用程序重新渲染,我就会失去对TextInput的关注.我目前正在使用onChangeText来保存我正在键入的字符,有没有办法在计时器滴答作响时保持对文本输入的关注?
谢谢.
最简单的
解决方案是在componentDidUpdate
方法中
调用this.refs.yourTextInput.focus().但是,这可能会导致
键盘动画下来,然后再次动画.
问题的根源是您的计时器值和TextInput共享相同的范围,因此在更新状态时,通过render函数重新呈现计时器和TextInput.理想情况下,您可以:
将计时器文本放在自定义组件中,并在该自定义组件上添加方法以设置其自己的状态.只要自定义组件的状态是正在更新的状态,这将仅导致自定义组件重新呈现.