我想学习 recompose,所以我从一个简单的组件组件开始:
const timer: React.SFC<MyProps | any> = ({ seconds }) => (
<span>{ seconds }</span>
);
我想以某种方式seconds
使用 recompose 传递给它,它会每秒递增。
let seconds = 0;
export default compose(
withProps(() => ({ seconds })),
pure,
)(Timer);
如何正确增加seconds
道具,以便在道具更改时将其传播到组件?我尝试使用setTimeout
afterlet seconds
声明添加递归函数,但它不会在更改时向下传播到组件。
我结束了这个
let seconds = 0;
incrementSeconds();
function incrementSeconds() {
seconds += 1;
setTimeout(
() => {
incrementSeconds();
},
1000,
);
}
export default compose(
withProps(() => ({ seconds })),
pure,
)(Timer);