【发布时间】:2019-09-07 23:30:41
【问题描述】:
我很难理解应用于反应组件的柯里化。
LanguageContext.js
<LanguageContext.Consumer>
{value => <Component languageContext={value} {...props} />}
</LanguageContext.Consumer>
)
Navbar.js
export default withLanguageContext(withStyles(styles)(Navbar))
一个更简单的例子。
const add = x => y => x + y
如果我们调用 add(2),它将返回一个带有 x 柯里化值的函数。为了得到这个函数的结果,我们需要调用 add(2)(2) ,它会返回 4。所以,当我们这样做时,在导航栏中withLanguageContext(withStyles(styles)(Navbar))
根据我的理解,返回一个需要 props 的函数,以便在 LanguageContext.Consumer 之后返回。但是,我们没有明确传递任何道具。在这种情况下,我的期望是这样的:withLanguageContext(withStyles(styles)(Navbar))(props)
【问题讨论】: