javascript - 如何在本机反应中不将搜索结果保存在 redux-persist 中?
问题描述
我有从搜索请求呈现结果数据的顶部选项卡,
所以我找不到将数据传递给选项卡的任何解决方案!
因此,我在从 API 获取响应后使用 redux 保存结果数据,并将其作为道具传递到选项卡屏幕中。
但是我有一些问题用来redux-persist
在本地保存状态,
但在这种情况下,我不想将这些数据保存在存储中,那么有没有办法处理它'就在这种情况下(搜索结果)'?
代码
搜索.js
onSearch = async () => {
const {searchText} = this.state;
let response = await API.post('/search', {
name: searchText,
});
let {
data: {
data: {data},
},
} = response;
this.props.dispatch(getResult(data))
}
歌曲标签
{props.artists.length <= 0 ? (
<Text style={[styles.serachFindText, {paddingVertical: 15}]}>
Not found ☹️
</Text>
) : (
... Flatlist ...
)}
错误
无法读取未定义的属性“长度”
行动
import {GET_SEARCH_RESULT} from './types';
export const getResult = (songs, artists) => {
return {
type: GET_SEARCH_RESULT,
songs,
artists,
// payload: result,
};
};
减速器
import {GET_SEARCH_RESULT} from '../actions/types';
let initial_state = {
searchResult: [], // maybe it's wrong?
};
const searchResultReducer = (state = initial_state, action) => {
const {payload, type} = action;
switch (type) {
case GET_SEARCH_RESULT:
return {...state, artists: action.artists, songs: action.songs};
default:
return state;
}
};
export default searchResultReducer;
店铺
..
import searchResultReducer from '../reducers/searchResultReducer';
..
const persistConfig = {
key: 'root',
storage: AsyncStorage,
};
const rootReducer = combineReducers({
...
searchResult: searchResultReducer,
...
});
const persistedReducer = persistReducer(persistConfig, rootReducer);
export const store = createStore(
persistedReducer,
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
);
export const persistor = persistStore(store);
解决方案
是的,您可以blacklist
使用包含您不想保留的键的数组将键添加到 persistConfig。在你的情况下:
const persistConfig = {
key: 'root',
storage: AsyncStorage,
blacklist: ['searchResult'],
};
检查persistReducer
此处的所有配置选项。
推荐阅读
- swift - 转移 NSView 也会无缘无故地转移其他视图
- android - BluetoothGattCallback 处理来自 BLE 设备的数据缓慢
- javascript - 如何在 React.js 中的按钮上选中/取消选中带有 onClick 事件的复选框?
- powershell - 如果我创建一个秒表对象并为其删除变量,它是否仍然占用内存?(电源外壳)
- php - 如何在 laravel OOP 中重构我的代码
- python - 如何在 python 中膨胀这个 zlib 字节字符串?
- postgresql - PostgreSQL 中的 JSON 递归 - 无限循环
- react-native - FlatList + PanResponder 无滚动
- google-sheets - Google 表格:以 HH:MM 格式查询数据
- string - 为什么 str 主要以借来的形式存在?