Reactjs 子组件之间的反应交互:引用与作为道具的回调

Reactjs 子组件之间的反应交互:引用与作为道具的回调,reactjs,Reactjs,在研究React时,我发现了一个示例,其中一个按钮在单击时必须使输入文本具有焦点。输入和按钮都是不同的组件 我认为有两种方法可以做到这一点: 将Ref与输入文本一起使用,并将其传递给按钮 在父组件(父组件)内创建函数/方法,并将其传递给按钮,以便在单击时将其回调。向输入文本传递一个属性(例如焦点:true/false),并将父状态赋予它。当该按钮回调父函数时,它会更新父状态,从而将输入属性从false更改为true(例如) 虽然这两种方法给出了相同的结果,但第二种方法对我来说似乎更好(尽管需

在研究React时,我发现了一个示例,其中一个按钮在单击时必须使输入文本具有焦点。输入和按钮都是不同的组件

我认为有两种方法可以做到这一点:

  • 将Ref与输入文本一起使用,并将其传递给按钮
  • 在父组件(父组件)内创建函数/方法,并将其传递给按钮,以便在单击时将其回调。向输入文本传递一个属性(例如焦点:true/false),并将父状态赋予它。当该按钮回调父函数时,它会更新父状态,从而将输入属性从false更改为true(例如)
虽然这两种方法给出了相同的结果,但第二种方法对我来说似乎更好(尽管需要更多的代码),因为它将子组件解耦。第一种方法需要更少的代码,但会将输入的细节传递给按钮,从而影响按钮的重用


使用我没有提到的第一/第二种方法是否有任何影响(目标-不是偏好问题)?

使用ref的聚焦方法应该很好


您可以随时将道具传递给可重用按钮的
onClick
事件。

使用ref的Focus方法应该可以很好地工作


只要点击可重用按钮的
onClick
事件,您就可以将道具传递给该事件。

我不确定这里的问题是什么。就如何写它而言,第二种选择通常是做itHello,Manuela更喜欢的方式。欢迎来到StackOverflow。因此,它专注于能够得到明确答案的狭窄技术问题,不适合基于意见的讨论。我认为你的问题很快就会以意见为基础结束。无法建议任何特定资源进行类似的讨论(reddit.com?media.com?dev.to?)。尝试搜索“react best practices”,应该有一堆文章可以帮助您。对不起。我不知道。在以后的提问中我会更加谨慎。我不确定我是否理解了这里的问题。就如何写它而言,第二种选择通常是做itHello,Manuela更喜欢的方式。欢迎来到StackOverflow。因此,它专注于能够得到明确答案的狭窄技术问题,不适合基于意见的讨论。我认为你的问题很快就会以意见为基础结束。无法建议任何特定资源进行类似的讨论(reddit.com?media.com?dev.to?)。尝试搜索“react best practices”,应该有一堆文章可以帮助您。对不起。我不知道。在以后的问题上我会更加谨慎。