gpt4 book ai didi

javascript - 如何通过react-redux connect使用React.memo?

转载 作者:行者123 更新时间:2023-12-03 13:02:44 26 4
gpt4 key购买 nike

有人知道当使用react-redux中的connect函数时如何用React.memo包装React组件吗?

例如,您将如何修改以下内容?

let Button = (props: Props) => (
<button onClick={props.click}>{props.value}</button>
);

Button = connect(
mapStateToProps,
mapDispatchToProps
)(Button);

我已经尝试过:

let Button = React.memo((props: Props) => (
<button onClick={props.click}>{props.value}</button>
));

Button = connect(
mapStateToProps,
mapDispatchToProps
)(Button);

但是,connect 返回的函数需要传递一个组件,因此会出现错误:

Uncaught Error: You must pass a component to the function returned by connect. Instead received {"compare":null}

最佳答案

React.memo 只是一个 HOC,所以你可以使用:

没有备注:

connect(
mapStateToProps,
mapDispatchToProps
)(Button);

带备注:

connect(
mapStateToProps,
mapDispatchToProps
)(React.memo(Button));

甚至换行连接:(这应该是连接的解决方案)

React.memo(
connect(
mapStateToProps,
mapDispatchToProps
)(Button)
);

就像我们对 withRouter 所做的那样:withRouter(connect(...)())

关于javascript - 如何通过react-redux connect使用React.memo?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52998469/

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