I cannot pass variable ownProps
from mapStateToProps
to selector. My selector:
export const nameSelector = createSelector(
[
state => state.element.get('name')
],
(name) => !name.trim()
);
const mapStateToProps = (state, ownProps) => ({
disabledAfterSave: nameSelector(state)
});
And I need to have a selector:
export const nameSelector = createSelector(
[
state => state.element.get('name')
],
(name, ownProps) => !name.trim() && ownProps.showMessage
);
const mapStateToProps = (state, ownProps) => ({
disabledAfterSave: nameSelector(state, ownProps)
});
But now I get an error: ReferenceError: ownProps is not defined
.
When I tried to pass it like below:
export const nameSelector = (ownProps) => createSelector(
[
state => state.element.get('name')
],
(name) => !name.trim() && ownProps.showMessage
);
the returned type is not bool but [Function selector]
.
How can I pass this argument to my selector?
Here's how to fix your selector and its usage:
Here's a generic working example, in order to illustrate how you can pass props down to the selector: