
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
redux-path-store
Advanced tools
Simplified react context store management leveraging the power of pathing objects.
Simplified redux store management leveraging the power of pathing objects.
A path store is simply an automatically generated redux store which includes the reducers and actions based upon the initial state it was provided.
Manage the redux state without having to dig into the management of updating reducers or actions. Manage the redux state like you would manage the local state.
Uses TypeScript out of the box and will only support the usage of React Hooks. The redux store paths are automatically typed for you to prevent miss spellings and add autofill for your IDE.
Its only built with a few files as it mostly piggy backs off of "@redux/toolkit" and "object-path-immutable".
Works with Redux DevTools, the automatically generated actions will show up in the extension as normal.
redux/rootStore.ts
interface RootState {
farms: {name: string}[]
farmer: {
name: string
details: {
age: number
}
}
}
const initialState = {
farms: [{name: 'Red Farm'}],
farmer: {name: 'Bobby Red', details: {age: 50}}
}
const {store, pathMap} = createStoreFromState<RootState>(initialState)
// Normal redux store, packaged with auto generated actions/reducers based upon initialState.
export const rootStore = store
// A pathProp pathing map of your Store to be consumed by your "useReduxState" hook.
export const Root = pathMap
console.log(Root.farms) // "farms"
console.log(Root.farmer) // "farmer"
console.log(Root.farmer.details.age) // "farmer.details.age"
console.log(Root.doggy) // undefined, typescript error will occur.
components/Farms.tsx
import {Root} from './redux/rootStore'
import {useReduxState} from 'redux-path-store'
const Farms: React.FC = () => {
// Local State
const [animals, setAnimals] = useState([])
// Redux State
const [farmerAge, setFarmerAge] = useReduxState(Root.farmer.details.age)
const [farms, setFarms] = useReduxState(Root.farms)
const [farmer, setFarmer] = useReduxState(Root.farmer)
useEffect(() => {
// Redux action/reducer and dispatch all taken care of.
setFarms((farms) => ({name: 'Blue Farm'})) // Action dispatched "FARMS"
setFarmerAge(25) // Action dispatched "FARMER-DETAILS-AGE"
}, [])
return (<>
{farms.map((farm) => <div>{farm.name}</div>)}
</>)
}
FAQs
Simplified react context store management leveraging the power of pathing objects.
We found that redux-path-store 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
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.