
Product
Introducing Rust Support in Socket
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
@stenajs-webui/redux
Advanced tools
This package contains utilities that can help create Redux features.
Creates a reducer that requires action.reducerId to match specified reducerId.
Creates a reducer that applies the inner reducer to a state[action.recordId]
instead
of directly to state
.
This reducer keeps a workspace state and a committed state. Changes can be made to workspace, which can then be committed.
This reducer stores entities by id. Entities can be added, removed and updated.
This reducer stores a single entity. It can be replaced and partially updated.
This reducer stores a list and provides actions for manipulating the items in the list.
This reducer uses entity-by-id-reducer to store information about current
CRUD operation state. It contains flags such as loading
, error
, etc.
This reducer uses entity-by-id-reducer to store information about a change made to something. For example, if a user enters data into fields in a form, you can keep track of the changes made by the users to batch all updates.
This reducer contains a list of ids that can be toggled on or off. This can be used when having a list of checkboxes that can be toggled on or off.
This reducer keeps track of a sort order where the order is determined by a list of ids. This is useful when different lists sort the same entity, but does not have access to the same fields.
This reducer keeps track of sort order by key, such as column name.
Here is an example.
This makes it easy to have a state split into workspace and committed state.
This can be useful when editing a form, which uses workspace state. When user presses enter, it is committed.
A search query is built from committed state, and thus, the search is triggered when the commit occurs, instead of on every keystroke.
export const timeTableFilterReducer =
createCommitReducer<TimeTableFilterState>("timeTableFilter",
{
workspace: INITIAL_STATE,
committed: INITIAL_STATE
});
{ workspace: X, committed: Y }
.export const { setValues, commitValues, clearValues } =
createCommitReducerActions<TimeTableFilterState>("timeTableFilter");
// In component
const dispatch = useDispatch();
dispatch(setValues({ email: "user@example.com" }));
export const { getWorkspaceValues, getCommittedValues } = createCommitReducerSelectors<
StoreState,
TimeTableFilterState
>("timeTableFilter", state => state.timeTableFilter);
// In component
const filterValues = useSelector(getWorkspaceValues);
FAQs
Unknown package
The npm package @stenajs-webui/redux receives a total of 29 weekly downloads. As such, @stenajs-webui/redux popularity was classified as not popular.
We found that @stenajs-webui/redux demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers 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.
Product
Socket now supports Rust and Cargo, offering package search for all users and experimental SBOM generation for enterprise projects.
Product
Socket’s precomputed reachability slashes false positives by flagging up to 80% of vulnerabilities as irrelevant, with no setup and instant results.
Product
Socket is launching experimental protection for Chrome extensions, scanning for malware and risky permissions to prevent silent supply chain attacks.