为了实现登录状态的保存,我今天粗略的学习了下Redux。大的问题没遇到,小问题还是挺多的,做下记录。
Redux 小记
Redux其实可以看成MVC中的M,虽然他需要自己写一些处理函数之类的,但仍然无法改变其只是作为状态储存容器的这个角色。
使用还是很简单的。但是有一点需要注意,在使用Provider的时候,需要给Provider绑定好store,否则会报错。举例如下:
import {reduxStore} from './dataStore/ReduxStore'
ReactDOM.render((
<Provider store={reduxStore}>
<BrowserRouter>
<App/>
</BrowserRouter>
</Provider>
)
, document.getElementById('root'));
除此之外,我个人建议在使用Store之前,先给他初始化,否则未初始化就读,会报undefined错误。代码如下:
import {createStore} from 'redux';
import {AppReducers} from './Reducer'
export const reduxStore = createStore(AppReducers,
{
userAuth:false,
userCookies:'',
userState:{
}
});
Redux具体函数的用法就不多说了,网上教程很多,写的肯定比我写的好多了……
之后获取Store的State什么的都很简单了~
用了Redux便可以解决用户未登录,通过url就可以访问的问题了~
if(reduxStore.getState().userAuth === false)
{
return <Redirect to={'/'}/>
}
简单到爆炸的思路……
Git 小记
突然发现.gitignore 文件写错了……用了这么久git竟然写错文件……
正确写法如下:
#React
first-app/.idea
first-app/build
first-app/node_modules
#Djiango
Django/.idea
写完后,git add . ,git commit ,发现不起作用,百度了一下,在
http://www.cnblogs.com/zhangxiaoliu/p/6008038.html
找到了答案……
省掉大家的时间,直接写出结果:
git rm -r --cached .
记得后面的 . 。然后再git add . ,git commit 就发现已经生效了~
PS:总感觉有什么没写……