我正在附加一个代码沙箱链接,以重现此警告。有人可以解释为什么发生此警告以及如何消除此警告: https://codesandbox.io/s/cool-bogdan-6lyxs?file=/src/App.js
答案 0 :(得分:1)
警告实际上与formik字段无关,而是与FormikAutocomplete
组件的实现有关。
在FormikAutocomplete中,您正在破坏道具:
const FormikAutocomplete = ({ textFieldProps, ...props }) => { ...
因此,props
对象将包含istesting
值的true
和test
的{{1}}。您不只是将testFunc
对象散布到实体uis props
组件的props中,该组件不知道如何处理这些props,可能会将它们传递给呈现的html元素(一个div在这种情况下)。您的浏览器要抱怨Autocomplete
上的这些道具,因为它们不属于那里。
解决方法是仅将由它们正确处理的那些道具传递到div
,或者将这些道具从您的Autocomplete
对象中解构出来,而不应该传递。
例如,您可以将props
中的代码更改为
FormikAutocomplete