在浏览了类似问题的一些答案后,我无法让我的选择器工作。这是我的 selector.js:
export const getButtonStatus = state => state.buttonStatus;
Run Code Online (Sandbox Code Playgroud)
(这就是文件的全部内容。我不知道是否必须将任何内容导入其中。从我在这里看到的其他答案中看似乎不是这样。)
这就是我在我的传奇中尝试访问选择器的地方:
import { takeLatest, call, put, select } from "redux-saga/effects";
import { getButtonStatus } from "./selector.js";
...
export function* watcherSaga() {
yield takeLatest("get-tweets", workerSaga);
}
function* workerSaga() {
try {
const buttonStatus = yield select(getButtonStatus);
const response = yield call(getTweets(buttonStatus));
const tweets = response.tweets;
yield put({
type: "tweets-received-async",
tweets: tweets,
nextTweeter: response.nextTweeter
});
} catch (error) {
console.log("error = ", error);
yield put({ type: "error", error });
}
}
... …Run Code Online (Sandbox Code Playgroud)