如何在React中没有ref的情况下触发焦点事件?

时间:2018-07-14 18:22:45

标签: reactjs

我有这样的东西:

<App>
    <CommentForm/>
    <CommentList/>
</App>

<App>已共享state<CommentForm/>的{​​{1}}。

<CommentList/>具有表单,提交评论后,它会出现在<CommentForm/>中。

一切正常,希望我找不到在<CommentList>中的focus()上触发textarea事件的好方法。

我知道我可以通过创建ref来做到这一点,但是据我所知,这并不是一个好习惯。

有没有一种方法可以在React中使用<CommentForm>来触发focus事件?

顺便说一句,我对state不感兴趣。

1 个答案:

答案 0 :(得分:0)

如果您为输入组件设置了ID,则可以执行以下操作:

document.getElementById('yourInputId').focus();

尽管您可以使用此代码,但由于可重用性,建议您还是使用refs。

您可以查看有关此帖子的更多信息: https://www.javascriptstuff.com/use-refs-not-ids/