4 回答

TA貢獻1864條經驗 獲得超6個贊
可能是你的action沒有connect到組件上,沒有把這個方法傳過來。
參考我寫的一個方案
<pre t="code" l="js">
@connect(
state =; state,
dispatch =; bindActionCreators(action, dispatch)
)
2.根據redux文檔的方案
<pre t="code" l="js">
// 哪些 action 創建函數是我們想要通過 props 獲取的看
function mapDispatchToProps(dispatch) {
return {
onIncrement: () =; dispatch(increment())
};
}
export default connect(
mapDispatchToProps
)(Counter);

TA貢獻1802條經驗 獲得超10個贊
thunk的意思是中間函數,在redux中,有個東西叫做action,如果配置了redux-thunk,那么在action中寫代碼的時候,就可以寫成下面這種形式:
function saveData(data) {
return {
type: 'SVAE_DATA',
date: data
}
}
exports function getData(){
return async (dispatch) => {
const data = await get(`/api`)
if (result) {
await dispatch(saveData(data))
}
}
}
在這個例子中,saveData就是一個thunk,getData的作用是接收服務端返回的數據,然后通過thunk函數去調用對應的reducers保存到store上。dispatch就是負責調用thunk函數
- 4 回答
- 0 關注
- 846 瀏覽
添加回答
舉報