【发布时间】:2021-06-06 11:02:07
【问题描述】:
我有两个切片减速器,我想将一个的状态传递给另一个。 在 redux 的旧方式中,我会这样做:
import store from "store"
///reducer code
const state = store.getState();
现在我正在使用 redux-toolkit,这种导入商店的方式不起作用。
这里是登录切片:
import { createSlice } from '@reduxjs/toolkit';
import axios from "axios"
import Swal from 'sweetalert2'
export const initialState = {
id: "1111"
}
export const LoginSlice = createSlice({
name: 'login',
initialState,
reducers: {
login: state => {
state.id = "2222"
},
},
});
export const { login} = LoginSlice.actions;
这是网站切片:
import { createSlice } from '@reduxjs/toolkit';
import axios from "axios"
export const SitesSlice = createSlice({
name: 'sites',
initialState: {
sites: []
},
reducers: {
GetSites: (state,action) => {
axios.post(process.env.REACT_APP_API_URL+"/sites/get",{id: get id here}).then((err,data) =>{
if(data.data.success){
state.sites = data.data.data
}else{
error
}
})
.catch(error => {
error
})
}
},
});
export const { GetSites } = SitesSlice.actions;
这里是商店:
import { configureStore } from '@reduxjs/toolkit';
import { combineReducers } from 'redux'
import loginReducer from '../features/Login/loginSlice';
import siteReducer from '../features/Sites/SitesSlice';
const reducer = combineReducers({
login: loginReducer,
sites: siteReducer,
})
export default configureStore({
reducer
});
我想要做的是从登录切片获取用户 ID 到站点切片。
类似store.getState().logIn.user.id
我遇到了这个问题);
【问题讨论】:
标签: javascript reactjs redux redux-toolkit