Javascript 在HoC参数中使用道具
我试着在我的HoC中使用道具的价值,但我很努力 这是我的密码:Javascript 在HoC参数中使用道具,javascript,reactjs,Javascript,Reactjs,我试着在我的HoC中使用道具的价值,但我很努力 这是我的密码: 导出默认值( 连接端点({ 讨论:getDiscussionRequest( props.message.discussionid, { 令人耳目一新:没错 }, props.message.flag ), 联系人:getContactsByFlagRequest({刷新:true},props.message.flag) }), 下面是connectEndpoint函数: 导出默认请求=> 谱写( 连接(()=> 使用Singl
导出默认值(
连接端点({
讨论:getDiscussionRequest(
props.message.discussionid,
{
令人耳目一新:没错
},
props.message.flag
),
联系人:getContactsByFlagRequest({刷新:true},props.message.flag)
}),
下面是connectEndpoint函数:
导出默认请求=>
谱写(
连接(()=>
使用SingleAppi(请求类型==“函数”?请求():请求)
)
);
我试图在调用“connectEndpoint”时使用我的props值,但我不知道应该使用什么语法来访问“props”。我尝试使用“withProps”,但在这种情况下没有成功
提前感谢!因为您在
connectEndPoint
HOC中使用了connect
,所以您可以将connectEndPoint
HOC的请求
属性作为一个函数来实现,并将状态和道具从connect传递给它
export default requests =>
compose(
connect((state, props) =>
withSingleApi(typeof requests === "function" ? requests(state, props) : requests)
)
);
像这样使用它
export default compose(
connectEndpoint((state, props) => ({
discussion: getDiscussionRequest(
props.message.discussionid,
{
refreshing: true
},
props.message.flag
),
contacts: getContactsByFlagRequest({ refreshing: true }, props.message.flag)
}));
您在实现中没有收到道具的原因是因为connectEndPoint是一个正在调用的函数,并且只有来自它的返回值用于呈现接收道具的组件非常感谢,我以前从未遇到过这种情况,我应该参加一个关于HOCs的培训课程,以更好地理解所有mecanic顺便说一句,我只使用了(props)而不是(state,props),你能解释一下为什么要在参数中添加state吗?Connections mapStateToProps同时提供state和props,其中state是redux store中的状态,如果你在某个地方需要它,我将它作为一个示例添加。如果你不需要它,可以避免它