1.1.0 • Published 7 years ago

babel-slot-fill v1.1.0

Weekly downloads
-
License
MIT
Repository
-
Last release
7 years ago

Babel-Slot-Fill

Babel Slot Fill is a simple babel plugin that allows you to write React components like this:

const Heading = withSlots(props => (
  <header>
    <slot as="title" />
  </header>
));

const MyApp = props => (
  <main>
    <Heading>
      <fill name="title">
        <h1>Title</h1>
      </fill>
    </Heading>
  </main>
);

which compiles out to:

const Heading = props => (
  <header>
    {props.title}
  <header>
);

const MyApp = props => (
  <main>
    <Heading title={<h1>Title</h1>} />
  </main>
);

This gives you the developer experience of composing components while also allowing you to pass in more than just children to your components.

How to use

First install:

yarn add babel-slot-fill

then add to your .babelrc file:

{
  "plugins": [
    "babel-slot-fill"
  ]
}