通过 React-Select 传递 "restProps"

Pass "restProps" through React-Select

问题: 我有一个简单的 Form Select 组件。它有几个道具,并使用 React Select V2 作为实现层。我想传递一些额外的道具。这是代码:

const SelectDropdownField = ({
  prop1,
  prop2.
  ...restProps
}: SelectProps): JSX.Element => (
  <Field
    name={name}
    render={({
      field,
      form: { setFieldValue, setFieldTouched, errors, touched }
    }: FieldProps<FormikValues>): ReactNode => (

      return (
        </div>
            <ReactSelect
                .. //someFieldsHere
                {...restProps} // this doesn't work
            />
            {JSON.Stringify({...restProps}, null, 2)} // this works
        </div>
      );
    }}
  />
);

我正在尝试传递 data-testid 属性。但是如果我在 ReactSelect 中传递它,它就不起作用。在它之外,它工作得很好。有什么想法吗??

很遗憾,看了代码,好像不可能。

通过检查 here react-select 的渲染函数,我们可以看到我们可以添加自定义道具的唯一方法是通过 commonProps 对象。但是检查每个子组件,没有到达 DOM 的地方。只有 innerProps 到达 DOM 但图书馆用户无法控制它。