gpt4 book ai didi

javascript - 重新选择 - 选择器中未定义的 Prop

转载 作者:行者123 更新时间:2023-11-30 15:03:50 26 4
gpt4 key购买 nike

我有一个容器及其选择器,它呈现另一个具有其他选择器的容器。

问题是第二个 props 是未定义的,它破坏了一切。

这是代码(其中 props 在第二个选择器中未定义):

selectProductsState Prop 返回未定义。

一个选择器:

const selectProductsState = () => ({ products }, props) => { return { products, props } };

const getCurrentProductFromParams = () => createSelector(
selectProductsState(),
getProductsItems(),
({ props }, items) => {
const id = extractId(props.params);

return items[id];
}
);

产品容器:

class ProductPage extends React.Component {

render() {
return (<OtherContainer />)
}
}

const mapStateToProps = createStructuredSelector({
hasLoadingErrors: getHasLoadingErrors(),
productNotFound: getProductNotFound(),
product: getProduct(),
getCurrentProductFromParams
});

另一个容器有自己的选择器。

我该如何解决?

谢谢

最佳答案

问题出在从 react-router 传递到 ProductPage 容器的 params 属性上。

所以 params 它不会自动传递给 OtherContainer,因此,params 它是 undefined

解决方案是手动将 prop 传递给 OtherContainer:

class ProductPage extends React.Component {
render() {
return (<OtherContainer params={this.props.params} />)
}
}

const mapStateToProps = createStructuredSelector({
hasLoadingErrors: getHasLoadingErrors(),
productNotFound: getProductNotFound(),
product: getProduct(),
getCurrentProductFromParams
});

关于javascript - 重新选择 - 选择器中未定义的 Prop ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46100815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com