在类组件中设置zustand状态,首先需要使用connect
函数将该组件连接到zustand store
npm install zustand
// store.js
import create from 'zustand';
const useStore = create(set => ({
count: 0,
increase: () => set(state => ({ count: state.count + 1 })),
decrease: () => set(state => ({ count: state.count - 1 })),
}));
export default useStore;
// MyClassComponent.js
import React from 'react';
import { connect } from 'zustand';
import useStore from './store';
class MyClassComponent extends React.Component {
componentDidMount() {
this.props.increase(); // 增加计数
}
render() {
const { count, increase, decrease } = this.props;
return (
<div>
<h1>Count: {count}</h1>
<button onClick={increase}>Increase</button>
<button onClick={decrease}>Decrease</button>
</div>
);
}
}
const mapStateToProps = (state) => ({
count: state.count,
increase: state.increase,
decrease: state.decrease,
});
export default connect(mapStateToProps)(MyClassComponent);
这里有一个使用connect
函数将MyClassComponent
组件连接到zustand store的例子。我们将mapStateToProps
设置为从store中选择所需的属性,并将它们作为props传递给MyClassComponent
。然后,您可以在组件中调用这些属性来设置和更新zustand状态。
领取专属 10元无门槛券
手把手带您无忧上云