React Portal功能组件

时间:2018-08-07 10:04:13

标签: javascript reactjs react-dom

我在使用门户呈现输入字段时遇到问题。 当我更改输入的值时,它将失去焦点。 我认为这是由于状态更改后重新呈现。

https://codesandbox.io/s/zk0w1jv6rp

有人知道解决方案吗?

更新

有没有一种方法可以重复使用Bar-Componet?可以说我可以添加一个类似key属性的东西,以便react知道它是相同的组件并且可以重复使用。

1 个答案:

答案 0 :(得分:0)

因为每次重新渲染HelloReact组件时,您都需要定义一个新的Bar组件并创建一个新的Bar组件,所以这不是一个好方法。

简单的解决方案是使用autoFocus,因此,每次创建新的Bar组件时,它将集中输入元素。

Working code.

更好的方法是在Bar组件之外定义HelloReact组件,并在props中传递valueonChange事件处理程序。在这种情况下,您无需使用autoFocus

Example.