如何解决页面更改后Redux状态被重置
我将Redux与React一起使用,并且第一个组件上有一个项目列表,然后将其存储在Redux商店中,当我转到另一个页面时,商店将重置。
减速器
test_data <- structure(list(DataType = structure(c(1L,1L,2L,2L),.Label = c("A","B"),class = "factor"),ExpType = structure(c(1L,.Label = c("X","Y"),EffectSize = structure(c(1L,.Label = c("15","35"
),Nsubjects = c(8,16,32,64,8,64),Odds = c(1.06248116259846,1.09482076720863,1.23086993413208,1.76749340505612,1.06641831731573,1.12616954196688,1.48351814320987,3.50755080416964,1.11601399761081,1.18352602009495,1.45705466646283,2.53384744810515,1.13847061762186,1.24983742407086,1.97075900741022,6.01497152563726,1.02798821372378,1.06297006279249,1.19432835697453,1.7320754674107,1.02813271730924,1.09355953747203,1.44830680332583,3.4732692664923,1.06295915758305,1.12008443626365,1.3887632112682,2.46321037334,1.06722652223114,1.1874936754725,1.89870184372054,5.943747409114),Upper = c(1.72895843644471,2.09878774769559,2.59771794965346,5.08513435549015,1.72999898901071,1.8702196882561,3.85385388850167,5.92564404180303,1.99113042576373,2.61074135841984,3.45852331828636,4.83900142207583,1.57897154221764,1.8957409107653,10,75,2.3763918424135,2.50181951057562,3.45037180395673,3.99515276392065,2.04584535265976,2.39317394040066,2.832526733659,5.38414183471915,1.40569501856836,2.6778044191832,2.98023068052396,4.75934650422069,1.54116883311054,2.50647989271592,3.48517589981551,100),Lower = c(0.396003888752214,0.0908537867216577,-0.135978081389309,-1.55014754537791,0.40283764562075,0.382119395677663,-0.88681760208193,1.08945756653624,0.240897569457892,-0.243689318229938,-0.544413985360706,0.228693474134466,0.69796969302609,0.603933937376415,0.183548809738402,3.57236968943798,-0.320415414965949,-0.375879384990643,-1.06171509000767,-0.531001829099242,0.010420081958713,-0.206054865456611,0.0640868729926525,1.56239669826544,0.720223296597732,-0.437635546655903,-0.202704257987574,0.167074242459314,0.593284211351745,-0.131492541770921,0.312227787625573,3.76692741957876)),.Names = c("DataType","ExpType","EffectSize","Nsubjects","Odds","Upper","Lower"),class = c("tbl_df","tbl","data.frame"),row.names = c(NA,-32L))
//////复制要存储的数据
const postsreducer=(state=['hello','world'],action)=>{
switch(action.type){
case 'GET_LIST':
return state
case 'COPY':
state=action.payload
return state
default:
return state
}
};
export default postsreducer
//////转到另一个组件
axios.get('http://my-json-server.typicode.com/VKR981/demo/posts/').then(res=>{ dispatch1(copyposts(res.data)); })
状态又回到了“ hello world”
解决方法
首先,按以下步骤进行切换:
switch(action.type){
case 'GET_LIST':
return state;
case 'COPY':
return action.payload;
default:
return state;
}
然后,使用反应路由器的Link
进行如下路由更改:
import { Link } from "react-router-dom";
<Button as={Link} to="/createpost">Create post</Button>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。