This may even be more of a generic Javascript(possibly es6) question, but here lets see how it plays out.
I encounter this type of syntax daily, and am beginning to become annoyed that I do not understand how this stuff is working under the hood:
const createStoreWithMiddleware = applyMiddleware(reduxThunk)(createStore)
I can see that applyMiddleware is obviously a function, that in this example, is taking reduxThunk as an argument. However, I have no clue what createStore is doing sitting in parentheses next to it.
Same can go for this example, where I am confused about what's going on with UserList:
export default connect(mapStateToProps)(UserList)
Could anyone explain to me what is going on here? An explanation of both would be appreciated, as they both serve different purposes, and one ends up being an expression.