Redux Bad Practices #5: New Objects On The Fly

mapStateToProps = (state) => ({
currentUser: {
id: state.currentUserId, role: state.currentRole
}
})
mapStateToProps = (state) => ({
currentUserId: state.currentUserId,
currentUserRole: state.currentRole
})
mapStateToProps = (state) => ({
currentUser: selectCurrentUser(state)
})
<MyComp onEvent={ () => this.doSomething() } otherProps={ ... }/>
bindedEventCallback = () => {}
render() {
return <MyComp
onEvent={ this.bindedEventCallback }
otherProps={ ... }/>;
}
myComp() {
const bindedEventCallback = useCallback(() => {});

return <MyComp
onEvent={ bindedEventCallback }
otherProps={ ... }/>;
}

--

--

http://adamklein.dev/ I write code, and speak about it

Love podcasts or audiobooks? Learn on the go with our new app.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store