Javascript Egghead视频中的React-Redux反例
我刚在丹的“Egghead”视频redux课程中遇到了一个问题。当动作被调度时,ReactDOM呈现似乎不起作用。有什么想法吗? 我不知道到底缺少什么 以下是指向代码段的链接:Javascript Egghead视频中的React-Redux反例,javascript,reactjs,redux,react-redux,Javascript,Reactjs,Redux,React Redux,我刚在丹的“Egghead”视频redux课程中遇到了一个问题。当动作被调度时,ReactDOM呈现似乎不起作用。有什么想法吗? 我不知道到底缺少什么 以下是指向代码段的链接: const计数器=(状态=0,操作)=>{ 开关(动作类型){ 案例“增量”: 返回状态+1; “减量”一案: 返回状态-1; 违约: 返回状态; } } 常数计数器=({ 价值 增容, 递增 }) => ( {value} + - ); const{createStore}=Redux; //使用减速机指定存储
const计数器=(状态=0,操作)=>{
开关(动作类型){
案例“增量”:
返回状态+1;
“减量”一案:
返回状态-1;
违约:
返回状态;
}
}
常数计数器=({
价值
增容,
递增
}) => (
{value}
+
-
);
const{createStore}=Redux;
//使用减速机指定存储
常量存储=创建存储(计数器);
常量渲染=()=>{
ReactDOM.render(
dispatch({type:'INCREMENT'})}
onDecrement={()=>store.dispatch({type:'DECREMENT'})}
/>
document.getElementById('root'))
);
}
存储。订阅(呈现);
render()代码>试试这个
<Counter value={store.getState()}
您的代码中有两个小问题:
您不应该将getState函数传递给组件,而是传递其调用返回的值:store.dispatch({type:'DECREMENT'})}
/>,//此处必须添加逗号
document.getElementById('root'))
一个快速跟进的问题,我试着从JSBin下载工作代码并在Chrome上运行,但没有成功。为了让那个部件正常工作,我遗漏了什么?那个代码是用es6编写的。浏览器无法直接执行,但必须先使用babel进行转换。
<Counter value={store.getState()}
onIncrement={() => store.dispatch({type:'INCREMENT'})}
onDecrement={() => store.dispatch({type:'DECREMENT'})}
/>, // here must be a comma added
document.getElementById('root')