New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-duck

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-duck - npm Package Compare versions

Comparing version 0.3.0 to 0.4.0

dist/components/Context.d.ts

2

dist/components/Provider.js

@@ -43,5 +43,5 @@ "use strict";

var React = require("react");
var useGetter_1 = require("src/hooks/useGetter");
var actionTypes_1 = require("src/utils/actionTypes");
var createAction_1 = require("src/createAction");
var useGetter_1 = require("src/hooks/useGetter");
function Provider(_a) {

@@ -48,0 +48,0 @@ var children = _a.children, Context = _a.Context;

@@ -1,1 +0,1 @@

export declare function createContext<S, T extends string, P>(rootReducer: Reducer<S, T, P>, preloadedState: S, enhancer?: ContextEnhance<S, T, P>, displayName?: string): Context<S, T, P>;
export declare function createContext<S, T extends string, P>(rootReducer: Reducer<S, T, P>, preloadedState: S, enhancer?: ContextEnhance<S, T, P>, displayName?: string, global?: boolean): Context<S, T, P>;

@@ -6,2 +6,3 @@ "use strict";

var symbolObservable_1 = require("./utils/symbolObservable");
var Context_1 = require("./components/Context");
function createUnimplemented(objectName) {

@@ -15,4 +16,5 @@ var prefix = objectName ? objectName + "." : "";

}
function createContext(rootReducer, preloadedState, enhancer, displayName) {
function createContext(rootReducer, preloadedState, enhancer, displayName, global) {
var _a;
if (global === void 0) { global = false; }
var unimplemented = createUnimplemented("Context(" + (displayName !== null && displayName !== void 0 ? displayName : "") + ")");

@@ -31,4 +33,7 @@ var Context = React.createContext((_a = {

}
if (global) {
Context_1.setGlobalContext(Context);
}
return Context;
}
exports.createContext = createContext;

@@ -16,2 +16,3 @@ "use strict";

var combineReducers_1 = require("./utils/combineReducers");
var combineSelectors_1 = require("./utils/combineSelectors");
function createRootDuck() {

@@ -36,3 +37,3 @@ var e_1, _a;

rootDuck.initialState[duckName] = duck.initialState;
rootDuck.selectors[duckName] = duck.selectors;
rootDuck.selectors[duckName] = combineSelectors_1.combineSelectors(duckName, duck.selectors);
reducerMapping[duckName] = duck.reducer;

@@ -39,0 +40,0 @@ }

@@ -0,1 +1,2 @@

export { GlobalContext } from "./components/Context";
export { Provider } from "./components/Provider";

@@ -9,1 +10,3 @@ export { applyMiddleware } from "./utils/applyMiddleware";

export { createRootProvider } from "./createRootProvider";
export { useDispatch } from "./hooks/useDispatch";
export { useSelector } from "./hooks/useSelector";
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Context_1 = require("./components/Context");
Object.defineProperty(exports, "GlobalContext", { enumerable: true, get: function () { return Context_1.GlobalContext; } });
var Provider_1 = require("./components/Provider");

@@ -19,1 +21,5 @@ Object.defineProperty(exports, "Provider", { enumerable: true, get: function () { return Provider_1.Provider; } });

Object.defineProperty(exports, "createRootProvider", { enumerable: true, get: function () { return createRootProvider_1.createRootProvider; } });
var useDispatch_1 = require("./hooks/useDispatch");
Object.defineProperty(exports, "useDispatch", { enumerable: true, get: function () { return useDispatch_1.useDispatch; } });
var useSelector_1 = require("./hooks/useSelector");
Object.defineProperty(exports, "useSelector", { enumerable: true, get: function () { return useSelector_1.useSelector; } });
{
"name": "react-duck",
"version": "0.3.0",
"version": "0.4.0",
"description": "🦆 React ducks without Redux",

@@ -5,0 +5,0 @@ "author": "iamogbz",

@@ -42,8 +42,11 @@ # React Duck

"ContextName",
enhancer
enhancer,
useAsGlobalContext
);
```
**Note:** The enhancer may be optionally specified to enhance the context with third-party capabilities such as middleware, time travel, persistence, etc. The only context enhancer that ships with Ducks is [applyMiddleware](#applyMiddlewaremiddlewares).
**Note**: The `enhancer` may be optionally specified to enhance the context with third-party capabilities such as middleware, time travel, persistence, etc. The only context enhancer that ships with Ducks is [applyMiddleware](#applyMiddlewaremiddlewares).
**Note**: The `useAsGlobalContext` i.e. `global` option; allows for setting a default context that is used by the [`useDispatch`](#useDispatchactionCreatorContext) and [`useSelector`](#useSelectorselectorContext) hooks when no `Context` is supplied. This is useful when creating the context that will be used with the root provider.
Use the state and actions in your component.

@@ -55,2 +58,3 @@

const { state, dispatch } = React.useContext(Context);
const count = state[counterDuck.name];
const increment = React.useCallback(

@@ -62,3 +66,3 @@ () => dispatch(counterDuck.actions.increment()),

<div>
Count: <span>{state[counterDuck.name]}</span>
Count: <span>{count}</span>
<button onClick={increment} />

@@ -70,6 +74,16 @@ </div>

**Note**: this is equivalent to the class component described below.
**Note**: The use of `React.useContext` can be replaced with a combination of [`useDispatch`](#useDispatchactionCreatorContext) and [`useSelector`](#useSelectorselectorContext) hooks.
```jsx
// app.jsx
...
const count = useSelector(state => state[counterDuck.name], Context);
const increment = useDispatch(counterDuck.actions.increment, Context);
...
```
**Note**: This is equivalent to the class component described below.
```jsx
// app.jsx
export default class App extends React.PureComponent {

@@ -162,3 +176,2 @@ static contextType = Context;

- Implement slice selectors and `useSelector` hook, [reference][react-redux-useselector]
- Implement observable pattern for context value, [reference][proposal-observable]

@@ -174,3 +187,2 @@

[react-redux-tutorial]: https://react-redux.js.org/introduction/basic-tutorial
[react-redux-useselector]: https://react-redux.js.org/api/hooks#useselector
[redux-applymiddleware]: https://redux.js.org/api/applymiddleware#applymiddlewaremiddleware
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc