Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
almin-react-container
Advanced tools
Readme
React bindings for Almin.
Install with npm:
npm install almin-react-container
create(component, context): React.Component
It create container component that is wrap component
.
The component
can receive context.getState
of Almin via this.props
.
import React from "react";
import ReactDOM from "react-dom";
import AlminReactContainer from "almin-react-container";
import { Dispatcher, Context, Store } from "almin";
// Store
class MyState {
constructor({value}) {
this.value = value;
}
}
class MyStore extends Store {
constructor() {
super();
this.state = new MyState({
value: "Hello World!"
});
}
getState() {
return {
myState: this.state
};
}
}
// Context
const context = new Context({
dispatcher: new Dispatcher(),
store: new MyStore()
});
// context.getState();
/*
{
myState
}
*/
// View
class App extends React.Component {
render() {
// this.props has the same with `context.getState()`
return <div>{this.props.myState.value}</div>
}
}
// Create Container
const RootContainer = AlminReactContainer.create(App, context);
// Render Container
ReactDOM.render(<RootContainer />, document.getElementById("js-app"));
TypeScript example:
import * as React from "react";
import * as ReactDOM from "react-dom";
import { Dispatcher, Context, Store, StoreGroup } from "almin";
import { AlminReactContainer } from "almin-react-container";
// Store
class MyState {
value: string;
constructor({ value }: { value: string }) {
this.value = value;
}
}
class MyStore extends Store<MyState> {
state: MyState;
constructor() {
super();
this.state = new MyState({
value: "Hello World!"
});
}
getState() {
return this.state;
}
}
const storeGroup = new StoreGroup({
myState: new MyStore()
});
// Context
const context = new Context({
dispatcher: new Dispatcher(),
store: storeGroup
});
// View
type AppState = typeof storeGroup.state;
// { myState: MyState }
class App extends React.Component<AppState> {
render() {
return <div>{this.props.myState.value}</div>;
}
}
// Create Container
const RootContainer = AlminReactContainer.create(App, context);
// Render
ReactDOM.render(<RootContainer />, document.body);
For more details, see Example/.
For TypeScript user, see almin-react-container-test.tsx.
See Releases page.
Install devDependencies and Run npm test
:
npm i -d && npm test
Pull requests and stars are always welcome.
For bugs and feature requests, please create an issue.
git checkout -b my-new-feature
git commit -am 'Add some feature'
git push origin my-new-feature
MIT © azu
FAQs
React bindings for Almin
The npm package almin-react-container receives a total of 24 weekly downloads. As such, almin-react-container popularity was classified as not popular.
We found that almin-react-container 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
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.