0
我想了解REDX傳奇是如何工作的,實現一個簡單的例子(一個按鈕,當點擊從API獲取用戶,然後減速器將此用戶添加到商店)與反應,還原和反應 - 還原。如何使用REDX和react-redux的REDX傳奇
這裏是我的傳奇(與console.logs用於調試):
import { take, call, put } from 'redux-saga/effects';
import { GET_USER, setUser } from './actions/actionCreators';
export default function * watchFetchUser() {
console.log('Inside saga');
yield take(GET_USER);
console.log('Received click');
const URL = 'http://uinames.com/api/?ext';
const user = yield call(fetch, URL);
const userToJson = yield user.json();
yield put(setUser(userToJson))
}
不幸的是,當我點擊 「獲取用戶」 按鈕,沒有任何反應:
import React, { PropTypes } from 'react';
import CSSModules from 'react-css-modules';
import styles from './Button.css';
const Button = ({ getUser }) => {
function handleClick() {
getUser
console.log('Clicked');
}
return (
<button
type='text'
styleName='button'
onClick={handleClick}
>Get User</button>
)
}
Button.propTypes = {
getUser: PropTypes.func
}
export default CSSModules(Button, styles, { allowMultiple: true });
在這裏,整個回購: link to repo on GitHub
這是真的如果我點擊獲取用戶按鈕我可以console.log點擊動作,但它似乎像getUser actionCreator沒有被派遣,我不明白我失蹤,因爲在使用REDX傳奇之前,我只是使用反應,redux,react-redux,一切都很好 – Simon
你提供的回購表明與redux-saga無關的問題。您的代碼缺少上面指出的功能。 – MadNat
我明白這是缺少的功能,但我仍然沒有得到什麼缺少觸發'getUser'。你能更具體一些,並嘗試解釋嗎? – Simon