Skip to content

Commit ea91538

Browse files
committed
refactor(withFormikControl): Change withFormikControl API
1 parent 160390d commit ea91538

1 file changed

Lines changed: 20 additions & 10 deletions

File tree

src/withFormikControl.js

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,25 @@
1-
import { withProps, compose } from "recompose";
2-
import { withFormik } from "./withFormik";
1+
import { mapProps, compose } from "recompose";
2+
import { connect } from "formik";
3+
import { get } from "lodash";
4+
import withErrorIfNeeded from "./withErrorIfNeeded";
35

46
const withFormikControl = compose(
5-
withFormik,
6-
withProps(ownProps => ({
7-
error: ownProps.formik.submitCount
8-
? ownProps.formik.errors[ownProps.name]
9-
: undefined,
10-
value: ownProps.formik.values[ownProps.name],
11-
onChange: value => ownProps.formik.setFieldValue(ownProps.name, value)
12-
}))
7+
withErrorIfNeeded,
8+
connect,
9+
mapProps(
10+
({
11+
formik: { values, setFieldValue, setFieldTouched },
12+
name,
13+
...props
14+
}) => ({
15+
value: get(values, name),
16+
setFieldValue: (value, ...args) => setFieldValue(name, value, ...args),
17+
setFieldTouched: (value, ...args) =>
18+
setFieldTouched(name, value, ...args),
19+
name,
20+
...props
21+
})
22+
)
1323
);
1424

1525
export default withFormikControl;

0 commit comments

Comments
 (0)