使用 recompose setStatic 并将其连接到 redux (nextjs)
Posted
技术标签:
【中文标题】使用 recompose setStatic 并将其连接到 redux (nextjs)【英文标题】:Use recompose setStatic and connect it to redux (nextjs) 【发布时间】:2019-04-18 09:24:00 【问题描述】:我正在使用以下组合,并期望 a
作为道具传递。虽然它是未定义的。
请问如何解决?
import setStatic, compose from 'recompose'
import connect from 'react-redux'
export const getInitialProps = function()
console.log(this.props.a);
const mapDispatchToProps = (dispatch) => (
a: url => dispatch(type: 'a')
)
export default compose(
connect(null, mapDispatchToProps),
setStatic('getInitialProps', getInitialProps),
)
【问题讨论】:
this
未定义或a
是?
很好的问题。这似乎已定义。道具不是。
我认为你在构造函数中缺少这个绑定,或者你需要在 getintialprops 中传递这个
也许将 getInitialProps 更改为箭头函数并尝试。我认为您在 getInitialProps 中丢失了这个上下文,因为它是正常功能
箭头函数即使this
消失了
【参考方案1】:
以下是调查结果:
getInitialProps
在服务器端被调用,这意味着它是在挂载到 redux 之前的方式。我尝试注入的道具在 componentDidMount
生命周期中可供我使用
【讨论】:
以上是关于使用 recompose setStatic 并将其连接到 redux (nextjs)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 reactjs 中使用 recompose 清理表单?
[Recompose] Lock Props using Recompose -- withProps
你如何从 recompose 中读取这个 curry'd 函数……我的脑痛
[Recompose] Transform Props using Recompose --mapProps
[Recompose] Add Lifecycle Hooks to a Functional Stateless Component using Recompose