diff --git a/README.md b/README.md index 0b502e9..cc08b5b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +### react-use-infinite-loader is currently in pre release, use with caution + # react-use-infinite-loader :infinity: :page_with_curl: :hourglass_flowing_sand: > Super lightweight infinite loading hook for React apps diff --git a/package.json b/package.json index 6894b51..5fc19eb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-use-infinite-loader", - "version": "1.0.0", + "version": "0.0.2", "description": "Infinitely load new content in React using a simple React hook", "main": "useInfiniteLoader.es5.js", "repository": "git@github.com:CurationCorp/react-use-infinite-loader.git", diff --git a/useInfiniteLoader.es5.js b/useInfiniteLoader.es5.js index faccefc..5a35ce8 100644 --- a/useInfiniteLoader.es5.js +++ b/useInfiniteLoader.es5.js @@ -28,7 +28,15 @@ function useInfiniteLoader(_ref) { _ref$hasMore = _ref.hasMore, hasMore = _ref$hasMore === void 0 ? false : _ref$hasMore, _ref$initialise = _ref.initialise, - initialise = _ref$initialise === void 0 ? true : _ref$initialise; + initialise = _ref$initialise === void 0 ? true : _ref$initialise, + _ref$rootMargin = _ref.rootMargin, + rootMargin = _ref$rootMargin === void 0 ? "100px 0px 0px 0px" : _ref$rootMargin, + _ref$threshold = _ref.threshold, + threshold = _ref$threshold === void 0 ? 0 : _ref$threshold; + + if (typeof loadMore !== "function") { + throw new TypeError("useInfiniteLoader: loadMore must be a function and is required"); + } var loaderRef = _react.default.useRef(null); @@ -53,8 +61,8 @@ function useInfiniteLoader(_ref) { loadMore(page.current); page.current += 1; }, { - rootMargin: "20px 0px", - threshold: 0.01 + rootMargin: rootMargin, + threshold: threshold }); if (loaderRef.current) { @@ -66,10 +74,10 @@ function useInfiniteLoader(_ref) { observer.current.disconnect(); observer.current = undefined; }; - }, [hasMore, loadMore, page]); + }, [hasMore, loadMore, page, initialise]); return { loaderRef: loaderRef, - page: page + page: page.current }; }