Skip to content
This repository was archived by the owner on Aug 23, 2022. It is now read-only.

Commit 6fe688f

Browse files
committed
Fixing rogue "cannot read value of undefined" issue.
1 parent 41756a0 commit 6fe688f

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/reducers/form/change-action-reducer.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,10 @@ function updateFieldValue(field, action) {
6565
const subField = field[index] || createInitialState(`${model}.${index}`, subValue);
6666

6767
if (Object.hasOwnProperty.call(subField, '$form')) {
68-
return updateFieldValue(subField, subValue);
68+
return updateFieldValue(subField, {
69+
model: index,
70+
value: subValue,
71+
});
6972
}
7073

7174
if (shallowEqual(subValue, subField.value)) {
Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import actionTypes from '../../action-types';
22
import updateField from '../../utils/update-field';
3+
import mapValues from '../../utils/map-values';
34
import initialFieldState from '../../constants/initial-field-state';
45
import i from 'icepick';
56

@@ -9,8 +10,11 @@ export default function resetActionReducer(state, action, localPath) {
910
return state;
1011
}
1112

12-
const resetFieldState = (field) =>
13-
i.set(initialFieldState, 'value', field.initialValue);
13+
const resetFieldState = (field) => {
14+
if (field.$form) return mapValues(field, resetFieldState);
15+
16+
return i.set(initialFieldState, 'value', field.initialValue);
17+
};
1418

1519
return updateField(state, localPath, resetFieldState, resetFieldState);
1620
}

0 commit comments

Comments
 (0)