对选定项API调用使用redux-persist的方法如下:
npm install redux-persist
import { createStore } from 'redux';
import { persistStore, persistReducer } from 'redux-persist';
import storage from 'redux-persist/lib/storage';
// 导入你的reducer
import rootReducer from './reducers';
// 定义redux-persist的配置
const persistConfig = {
key: 'root',
storage,
};
// 创建一个持久化的reducer
const persistedReducer = persistReducer(persistConfig, rootReducer);
// 创建store
const store = createStore(persistedReducer);
const persistor = persistStore(store);
在上面的代码中,我们使用redux-persist的persistReducer函数来创建一个持久化的reducer。persistConfig对象定义了持久化的配置,其中key属性指定了存储的键名,storage属性指定了存储引擎,这里我们使用redux-persist提供的默认存储引擎storage。
import React from 'react';
import { Provider } from 'react-redux';
import { PersistGate } from 'redux-persist/integration/react';
import App from './App';
// 渲染应用
ReactDOM.render(
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<App />
</PersistGate>
</Provider>,
document.getElementById('root')
);
在上面的代码中,我们使用Provider组件将store传递给应用,并使用PersistGate组件包裹应用。PersistGate组件会在应用加载时,从存储中恢复状态。
import { persistStore, persistReducer } from 'redux-persist';
import { PersistGate } from 'redux-persist/integration/react';
// 定义action
const updateSelectedOption = (option) => {
return {
type: 'UPDATE_SELECTED_OPTION',
payload: option,
};
};
// 在组件中使用action
const MyComponent = ({ selectedOption, updateSelectedOption }) => {
const handleOptionChange = (option) => {
// 调用action更新状态
updateSelectedOption(option);
};
return (
<div>
<select value={selectedOption} onChange={(e) => handleOptionChange(e.target.value)}>
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
<option value="option3">Option 3</option>
</select>
</div>
);
};
// 连接组件到store
const mapStateToProps = (state) => {
return {
selectedOption: state.selectedOption,
};
};
const mapDispatchToProps = (dispatch) => {
return {
updateSelectedOption: (option) => dispatch(updateSelectedOption(option)),
};
};
export default connect(mapStateToProps, mapDispatchToProps)(MyComponent);
在上面的代码中,我们定义了一个action updateSelectedOption
来更新选定项的状态。在组件中,我们使用connect
函数将组件连接到store,并将updateSelectedOption
action传递给组件的props。当选项发生变化时,我们调用updateSelectedOption
action来更新状态。
通过以上步骤,你就可以使用redux-persist来持久化你的选定项API调用的状态了。每次应用重新加载时,redux-persist会自动从存储中恢复状态,并且在状态发生变化时,会自动将状态保存到存储中。
推荐的腾讯云相关产品:腾讯云对象存储(COS)
请注意,以上答案仅供参考,具体的实现方式可能会根据你的应用和需求而有所不同。
领取专属 10元无门槛券
手把手带您无忧上云