reduxとの非同期を学ぶための簡単なアプリを作っているだけです。すべてが機能するようになりました。今は、実際の状態をWebページに表示したいだけです。では、renderメソッドで実際にストアの状態にアクセスするにはどうすればよいですか?
これが私のコードです(私は学習しているだけなので、すべてが1ページにあります):
const initialState = {
fetching: false,
fetched: false,
items: [],
error: null
}
const reducer = (state=initialState, action) => {
switch (action.type) {
case "REQUEST_PENDING": {
return {...state, fetching: true};
}
case "REQUEST_FULFILLED": {
return {
...state,
fetching: false,
fetched: true,
items: action.payload
}
}
case "REQUEST_REJECTED": {
return {...state, fetching: false, error: action.payload}
}
default:
return state;
}
};
const middleware = applyMiddleware(promise(), thunk, logger());
const store = createStore(reducer, middleware);
store.dispatch({
type: "REQUEST",
payload: fetch('http://localhost:8000/list').then((res)=>res.json())
});
store.dispatch({
type: "REQUEST",
payload: fetch('http://localhost:8000/list').then((res)=>res.json())
});
render(
<Provider store={store}>
<div>
{ this.props.items.map((item) => <p> {item.title} </p> )}
</div>
</Provider>,
document.getElementById('app')
);
したがって、状態のrenderメソッドでitem.title
、ストアからすべてをリストしたいと思います。
ありがとう
react-redux
ライブラリを使用してストア接続コンポーネントを作成する必要があります。著者による無料コースでreduxの理解を深めることを強くお勧めします:egghead.io/courses/getting-started-with-redux