Skip to main content

Contract

contract 意味着静止组件产生变化时的对外公开约定,它将提供特定静止组件的各种信息.它通过更新包装组件的 props 来响应静止状态更改.

collect

对于每个需要监听静止状态的组件,可以自定义一个纯函数,并传递给 connectStillnessuseStillness,静止组件将收集并在静止状态被修改时调用这个函数,并将返回值合并到 props 中.

示例如下:

Hoc
const spec = {
collect: (props,contract) => ({
isStillness: contract.isStillness()
stillnessId: contract.getStillnessId()
});
};

connectStillness(spec);

或者

Hooks
const spec = (props) => {
return {
collect: (contract) => ({
isStillness: contract.isStillness()
stillnessId: contract.getStillnessId()
})
}
}

function Count(props) {
const collected = useStillness(spec(props));
...
}