import react from 'react'
const renderscreen = (newscreen, oldscreen = {}) => :$`;
};const renderbutton = (newbutton, oldbutton = {}) => ;
//1.全域性渲染方法
if (newstate === oldstate)
//渲染螢幕
renderscreen(newstate.screen, oldstate.screen);
//渲染按鈕
renderbutton(newstate.button, oldstate.button);
};//2.對狀態的修改交給純函式去做
// 定義修改資料方法
const reducer = (state, action) => ,
screen:
};case 'stop_video':
return ,
screen:
};case 'play_next':
return
};default:
return state;
}};//3.所以我們定義乙個createstore來管理全域性狀態
// 直接暴露資料不安全,會帶來不可預知的錯誤
const createstore = (reducer) => ,
button:
};//宣告監聽陣列
let listeners = ;
//獲取資料方法
const getstate = () => state;
//來修改資料
const dispatch = (action) => ;
//提供乙個訂閱方法
const subscribe = (listener) => ;
//暴露方法
return ;
};//4.使用createstore函式來建立資料逇管理物件
const store = createstore(reducer);
//宣告乙個老狀態
let oldstate = store.getstate();
//當狀態發生修改時候
store.subscribe(() => );
//5.全域性初始化
//6.對按鈕進行監聽
document.queryselector("#button").addeventlistener('click', () => );
settimeout(() => );
}, 2000);
} else );
}});
react開啟乙個專案 webpack版本出錯
npm start 在命令列裡執行以上語句就可 前兩天剛剛發現,最新版的react對webpack的版本要了新要求,大概是他新加的內容使用到了webpack高版本中的一些內容,所以使用時注意你的node版本和webpack版本,可能有一些版本要求 就是這麼的簡單 如果本文對您有幫助,請抬抬您的小手,...
手寫乙個簡單的HashMap
package com.lzq.mapinte ce public inte ce map package com.lzq.hashmap public class entry 編寫hashmap類 package com.lzq.hashmap import com.lzq.mapinte ce....
手寫乙個簡易的Ajax
乙個簡單的ajax get 請求 手寫乙個簡易的 ajax get請求版 ajax是一種技術方案,而不是一種新技術,依賴的依舊是前端三件套,最核心的依賴就是瀏覽器提供的xmlhttprequest物件,可以讓瀏覽器發出http請求和接收http響應。也就是說 我們使用xmlhttprequest物件...