Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
redux-bundler-async-resources-hooks
Advanced tools
React bindings to redux-bundler-async-resources
React bindings to redux-bundler-async-resources
npm install --save redux-bundler-hook redux-bundler-async-resources redux-bundler-async-resources-hooks
(assuming you've used createAsyncResourceBundle
for "hotCarDeals" and createAsyncResourcesBundle
for "carDeals" on a specific car id)
import React from 'react'
import { useConnect } from 'redux-bundler-hook'
import { useAsyncResource, useAsyncResourcesItem } from 'redux-bundler-async-resources-hooks'
// ... other imports
export default function MyAutomarketDashboard() {
const { currentCarId } = useConnect('selectCurrentCarId')
const { hotCarDeals, hotCarDealsIsLoading, hotCarDealsError } = useAsyncResource('hotCarDeals')
const {
item: currentCarDeals,
itemIsLoading: currentCarDealsLoading,
itemError: currentCarDealsError,
} = useAsyncResourcesItem('carDeals', currentCarId)
return (
<>
<h1>Here are some deals for you on this car:</h1>
<CarDealsList deals={currentCarDeals} loading={currentCarDealsLoading} error={currentCarDealsError} />
<h1>Also take a look at these hot deals:</h1>
<CarDealsList deals={hotCarDeals} loading={hotCarDealsIsLoading} error={hotCarDealsError} />
</>
)
}
Hooks above will provide you all fields matching selectors that bundles are capable of.
Warning: using Suspense or Error boundaries assumes throwing things. Make sure these hooks are the only ones or the last ones you use within a single component in order to respect Rules of Hooks.
Both hooks receive one last settings
parameter which can have following fields (all disabled by default):
throwErrors
– if truthy, will throw an error for you when there is an error and there is no past data to show. Setting it to "always"
will always throw if there is an active error.throwPromises
– if truthy, will throw a promise when item is loading and there is no data to show. Setting it to "always" will always throw a promise if item is loading or refreshing.eagerFetch
– see belowError boundary can implement a proper "wait-retry" mechanism. Instead of throwing original error, hook will throw an instance of AsyncResourceError
which will have following properties:
resourceName
– which should be self-explanatoryoriginalError
– an instance of original exception that bundle's getPromise
rejected withpermanent
– translated from original errorretryAt
– a timestamp at which bundle will attempt next retry for this itemretry
– method that can force-trigger a fetch on an itemDefault values for throwErrors
and throwPromises
can be overridden per hook. If you prefer to always use error boundaries and/or suspenses, you can do the following early before any react code is on:
import { useAsyncResource, useAsyncResourcesItem } from 'redux-bundler-async-resources-hooks'
useAsyncResource.defaults = { throwErrors: true, throwPromises: true }
useAsyncResourcesItem.defaults = { throwErrors: true, throwPromises: true }
When setting eagerFetch
to a truthy value in hooks settings
parameter, hook will fire an effect which would trigger fetch actions on the item when it is pending for fetch.
It is on-purpose impossible to override with setting with a default.
FAQs
React bindings to redux-bundler-async-resources
The npm package redux-bundler-async-resources-hooks receives a total of 5 weekly downloads. As such, redux-bundler-async-resources-hooks popularity was classified as not popular.
We found that redux-bundler-async-resources-hooks demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.