Socket
Socket
Sign inDemoInstall

action-component

Package Overview
Dependencies
4
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    action-component

Snabbdom based functional components


Version published
Weekly downloads
4
Maintainers
1
Install size
517 kB
Created
Weekly downloads
 

Readme

Source

Action Component

Greenkeeper badge Build Status

Action based functional components

Component

A component is set of 4 pure functions —

  1. init: Creates the initial state of the component.
  2. update: Is a reducer function.
  3. command: Is a command function.
  4. view: Takes in the state and other params and returns a virtual dom element.
  5. Components are framework agnostic.
export interface Component<State, Params, VNode> {
  init(p?: Partial<State>): State
  update<T>(action: Action<T>, state: State): State
  command<T, R>(action: Action<T>, state: State): Action<R>
  view(e: Hoe, m: State, p: Params): VNode
}

init()

  1. Takes in one argument which contains a partial version of the State, ie. all properties are optional.
  2. Returns a new version of the State.
function init(p?: Partial<State>): State

update()

  1. Its an [update function] that takes in an Action and a State and returns a new State.
 function update (action: Action, state: State): State

command()

  1. Its an command function that takes in an Action and a State and returns a new Action.
 function command (action: Action, state: State): Action

view()

  1. Takes in three arguments — Hoe, State and Params.
  2. Returns a new virtual dom element — VNode.
  3. VNode can be anything implementation from [React], [snabbdom] etc.
function view(e: Hoe, s: State, p: Params): VNode

FAQs

Last updated on 19 Jul 2018

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc