react-buttondown
buttondown.email + react = 💙
Installation
yarn add react-buttondown
API
react-buttondown
exports a drop-in form and a custom hook that exposes buttondown's api functionality.
ButtondownForm
A drop-in form that captures subscriptions.
{ const API_KEY = 'your-buttondown-api-key' const handleOnSubscribe = { /* ... */ } return <ButtondownForm apiKey=API_KEY onSubscribe=handleOnSubscribe /> }
props:
apiKey
- Your buttondown.email api key. This can be found in your newsletter settings.
onSubscribe
(optional)
A function handler that receives the subscriber object after successfully subscribing a user.
useButtondown
A custom hook that exposes buttondown's api functionality.
{ const addSubscriber = const handleAddSubscriber = async { try const response = await const subscriber = responsedata catch err const errorMessage = errdata console } // ...}
arguments:
apiKey
- Your buttondown.email api key. This can be found in your newsletter settings.
returns:
addSubscriber
- An async function that takes a string
email
argument and returns an object with returned data and the response status:
const data response = await
Contributing
This is a quick library I built for myself. I can definitely see a more robust solution, but for now it works for me. If others start using it and have concerns / feature requests please feel free to ask away! I will do my best to keep my changes documented in the meantime.