diff --git a/packages/react/src/shared/array.js b/packages/react/src/shared/array.js index 63578e8995b..ce43ed764e8 100644 --- a/packages/react/src/shared/array.js +++ b/packages/react/src/shared/array.js @@ -1,5 +1,5 @@ import React from 'react' -import { isFn, getIn, camelCase } from '../utils' +import { isFn, getIn, camelCase, isEqual } from '../utils' export const createArrayField = options => { const { @@ -246,8 +246,10 @@ export const createArrayField = options => { } } - componentDidUpdate() { - this.validate() + componentDidUpdate(prevProps) { + if (!isEqual(prevProps.value, this.props.value)) { + this.validate() + } } componentDidMount() {