function loadMoreClicked()

in src/React.Sample.Mvc4/Content/Sample.tsx [33:58]


	function loadMoreClicked(evt: { preventDefault: () => void }) {
		let nextPage = state.page + 1;
		let comments = state.comments;
		updateState(prevState => ({
			...prevState,
			page: nextPage,
			loadingMore: true,
		}));

		let url = '/comments/page-' + (state.page + 1);
		let xhr = new XMLHttpRequest();
		xhr.open('GET', url, true);
		xhr.setRequestHeader('Content-Type', 'application/json');

		xhr.onload = () => {
			let data = JSON.parse(xhr.responseText);
			updateState(prevState => ({
				...prevState,
				comments: comments.concat(data.comments),
				hasMore: data.hasMore,
				loadingMore: false,
			}));
		};
		xhr.send();
		evt.preventDefault();
	}