状態管理のためにReduxを使用する反応ベースのアプリケーションで無限スクロールを実装しようとしています。ページスクロールでアクションをディスパッチしようとしています。しかし、それを達成することはできません。私のコードはここにあります還元と反応を使用した無限スクロール
// The Reducer Function
const pinterestReducer = function (state=[], action) {
if (action.type === 'SET_CONTENT') {
state = action.payload;
}
return state;
}
const appReducer = combineReducers({
pinterest: pinterestReducer
})
// Create a store by passing in the pinterestReducer
var store = createStore(appReducer);
window.onscroll = function(ev) {
if ((window.innerHeight + window.scrollY) >= document.body.offsetHeight) {
// you're at the bottom of the page, show all data
store.dispatch({
type: 'SET_CONTENT',
payload: travelJSON
});
}
};
travelJSONはオブジェクトの配列です。初心者私は、travelJSONの最初の12個のオブジェクトを状態に割り当てるアクションをディスパッチします。ページの下部にユーザーがスクロールは、私が以下の完全なJSONを割り当てる必要がこの状態を利用して、私のコンポーネントである:
// Dispatch our first action to change the state
store.dispatch({
type: 'SET_CONTENT',
payload: travelJSON.slice(0,12)
});
render(
<Provider store={store}><Pinterest /></Provider>,
document.getElementById('page-container'));
さらにデータをロードするコードは表示されていません。 'travelJSON'とは何ですか? –
が質問を更新しました。見てください。 –