React 门户功能组件
React Portal Functional Component
我在使用门户呈现输入字段时遇到问题。
当我更改输入的值时,它会失去焦点。
我认为这是因为状态更改时重新渲染。
https://codesandbox.io/s/zk0w1jv6rp
有人知道解决办法吗?
更新
有没有办法重用Bar-Componet?假设我可以添加类似键的东西 属性,这样 React 就知道它是同一个组件并且可以重用它。
这是因为每次 HelloReact
组件重新渲染时,您都在定义一个新的 Bar
组件并创建一个新的 Bar 组件,这不是一个好的方法。
简单的解决方案是使用 autoFocus
,因此每次创建新的 Bar
组件时,它都会聚焦输入元素。
更好的方法是在 HelloReact
组件之外定义 Bar
组件,并在 props 中传递 value
和 onChange
事件处理程序。在这种情况下,您不需要使用 autoFocus
.
我在使用门户呈现输入字段时遇到问题。 当我更改输入的值时,它会失去焦点。 我认为这是因为状态更改时重新渲染。
https://codesandbox.io/s/zk0w1jv6rp
有人知道解决办法吗?
更新
有没有办法重用Bar-Componet?假设我可以添加类似键的东西 属性,这样 React 就知道它是同一个组件并且可以重用它。
这是因为每次 HelloReact
组件重新渲染时,您都在定义一个新的 Bar
组件并创建一个新的 Bar 组件,这不是一个好的方法。
简单的解决方案是使用 autoFocus
,因此每次创建新的 Bar
组件时,它都会聚焦输入元素。
更好的方法是在 HelloReact
组件之外定义 Bar
组件,并在 props 中传递 value
和 onChange
事件处理程序。在这种情况下,您不需要使用 autoFocus
.