我有这样的东西:
<App>
<CommentForm/>
<CommentList/>
</App>
<App>
已共享state
和<CommentForm/>
的{{1}}。
<CommentList/>
具有表单,提交评论后,它会出现在<CommentForm/>
中。
一切正常,希望我找不到在<CommentList>
中的focus()
上触发textarea
事件的好方法。
我知道我可以通过创建ref来做到这一点,但是据我所知,这并不是一个好习惯。
有没有一种方法可以在React中使用<CommentForm>
来触发focus
事件?
顺便说一句,我对state
不感兴趣。
答案 0 :(得分:0)
如果您为输入组件设置了ID,则可以执行以下操作:
document.getElementById('yourInputId').focus();
尽管您可以使用此代码,但由于可重用性,建议您还是使用refs。
您可以查看有关此帖子的更多信息: https://www.javascriptstuff.com/use-refs-not-ids/