trivago / melody

Melody is a library for building JavaScript web applications.

Home Page:https://melody.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

melody-hooks requires using melody-component for rendering root component

pago opened this issue · comments

Explain the problem

When trying to mount a root component written using the melody-hooks API, we still need to rely on melody-component in order to render the root component.

Expected Behaviour

There is a way to render a top-level component from melody-hooks without having to rely on melody-component.

import { render } from 'melody-hooks';
import home from './home';

const documentRoot = document.getElementById('root');
render(documentRoot, home, {
    message: 'Welcome to Melody!'
});

Actual Behaviour

The only way to render a top-level melody-hooks component is by using render from melody-component.

import { render } from 'melody-component';
import home from './home';

const documentRoot = document.getElementById('root');
render(documentRoot, home, {
    message: 'Welcome to Melody!'
});

Provide your Environment details

  • melody version: 1.2.0-0

I see three options here:

  1. Create a melody-render package
  2. Move render logic to melody-idom
  3. Duplicate render logic in melody-hooks.

I would go for option 2, since a lot of component logic is already in melody-idom. What do you think?