问一个 react reusable 组件的的问题

2020-08-11 10:19:59 +08:00
 weimo383

import React, { Fragment} from 'react';

const App = () => {

  return (
    <div>
      <h1>My App</h1>

      <InputWithLabel
        id="search"
        label="Search"
        value={"1"}
      />
      <InputWithLabel
        id="search2"
        label="Search2"
        value={"2"}
      />
      <hr />
    </div>
  );
};

const InputWithLabel = ({
  id,
  label,
  value,
  type = 'text',
  onInputChange,
}) => (
    <Fragment>
      <label htmlFor={id}>{label}</label>

      <input
        id={id}
        type={type}
        value={value}
        onChange={onInputChange}
        autoFocus
      />
    </Fragment>
  );

export default App;

当我在 App 中 render 两个该组件时,发现 autoFocus 只有最后一个组件接收到了。为什么???

1049 次点击
所在节点    问与答
5 条回复
johnnyNg
2020-08-11 11:29:49 +08:00
你见过页面里面同时两个输入框 focus 的吗?
susan0007
2020-08-11 11:36:07 +08:00
哈哈哈哈哈哈哈哈哈哈哈哈哈
zhao7399686
2020-08-11 12:44:18 +08:00
哈哈哈哈哈哈哈哈哈哈哈哈哈
IceBay
2020-08-11 13:27:50 +08:00
哈哈哈哈哈哈哈哈哈哈哈哈哈
qiutianaimeili
2020-08-11 14:21:53 +08:00
1 楼完美答案

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/697276

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX