An open API service indexing awesome lists of open source software.

https://github.com/libreform/react-component

React component for WP Libre Form
https://github.com/libreform/react-component

Last synced: 3 months ago
JSON representation

React component for WP Libre Form

Awesome Lists containing this project

README

          

# React component for WP Libre Form

[![Travis][build-badge]][build]
[![npm][npm-badge]][npm]

React component for WP Libre Form. Depends on @libreform/libreform, which is NOT bundled with the package, you have to install it yourself.

# Installation

`npm install @libreform/react-component`

If you're feeling wild, you can also drop this repository under your plugins folder and activate the plugin. The component will be available under `window.WPLFReactComponent`. Please note that using it this way will enqueue react on every page.

# Usage

Like any other component. Should work just like WPLF works without React. If you need access to the dom node, you can create a ref with `useRef()` and pass it into the component as property.

```
import LibreForm from '@libreform/react-component'

function Demo() {
const ref = useRef(null)

return


Demo




}

```

# Props

Only `form` is required.

```typescript
{
form: string | number // form id or slug

className?: string // optional custom class name
parentRef?: React.RefObject // optional React ref
referrerData?: ReferrerData // optional object used for the referrer of the sub

IfErrors?: typeof Errors // react component
WhileLoading?: typeof Loading // react component

callbacks?: {
// List of callbacks to ADD on the form.
// Does NOT remove existing callbacks such as form reset and success message.
[x: string]: List
}
}
```

# Dependencies

- react
- @libreform/libreform

# Gotchas

This is just a dangerouslySetInnerHTML wrapper & bindings for WPLF. There's no sanitation. You should know the risks of unrestricted HTML.

[build-badge]: https://img.shields.io/travis/libreform/react-component/master.png?style=flat-square
[build]: https://travis-ci.org/libreform/react-component
[npm-badge]: https://img.shields.io/npm/v/@libreform/react-component.png?style=flat-square
[npm]: https://www.npmjs.org/package/@libreform/react-component
[coveralls-badge]: https://img.shields.io/coveralls/libreform/react-component/master.png?style=flat-square
[coveralls]: https://coveralls.io/github/libreform/react-component