Socket
Socket
Sign inDemoInstall

@appsemble/preact

Package Overview
Dependencies
7
Maintainers
4
Versions
204
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @appsemble/preact

Build your own blocks using Preact


Version published
Weekly downloads
242
decreased by-15.38%
Maintainers
4
Install size
14.4 kB
Created
Weekly downloads
 

Readme

Source

Appsemble Preact SDK

Build your own blocks using Preact

npm GitLab CI Prettier

Table of Contents

Installation

npm install @appsemble/preact preact

Usage

This package integrates Preact with @appsemble/sdk. Please read the documentation for a better understanding of how to use it.

bootstrap()

The bootstrap function takes a Preact component as an argument and renders. It takes the Appsemble block context as its props, extended with the ready() function. The ready() function needs to be called when the block is done rendering. Actions won’t be finalized for any blocks on the page, until all blocks are ready.

import { bootstrap } from '@appsemble/preact';
import { useEffect } from 'preact/hooks';

bootstrap(({ actions }) => {
  useEffect(() => {
    ready();
  }, []);

  return (
    <button onClick={() => actions.onClick()} type="button">
      Hello world!
    </button>
  );
});

Note: The script will be loaded only once. The component is then bootstrapped for every instance of your block type that is loaded by the app creator.

useBlock()

Get the block context. This is available for components that are rendered within a subtree of a component rendered by bootstrap

import { useBlock } from '@appsemble/preact';
import { type VNode } from 'preact';

export function MyButton(): VNode {
  const { actions } = useBlock();

  return (
    <button onClick={() => actions.onClick()} type="button">
      Hello world!
    </button>
  );
}

<FormattedMessage />

This helper component renders a translated message ID.

import { FormattedMessage } from '@appsemble/preact';
import { type VNode } from 'preact';

interface MyButtonProps {
  readonly name: string;
}

export function MyButton({ name }: MyButtonProps): VNode {
  return (
    <button type="button">
      <FormattedMessage id="myButtonLabel" values={{ name }} />
    </button>
  );
}

License

LGPL-3.0-only © Appsemble

Keywords

FAQs

Last updated on 30 Apr 2024

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