Thursday, April 13, 2017

Laravel 5.4 + ReactJS Render Elements from dynamic string

I have Laravel 5.4 + ReactJS. In general to app.js I import react, reactDOM, components what I need.

import ReactDOM from 'react-dom';
import React from 'react';
require('./bootstrap');
import InstallForm from './components/install';

Next in loop I get all element with data-component attribute

_.each(document.querySelectorAll('[data-component]'), item=> {
  ReactDOM.render(React.createElement(item.getAttribute('data-component'),null), item);
});

In blade template I have

<span data-component="InstallForm"/>

Element is creating correct, because I've been checked by console.

When I set string InstallForm manually reactDOM.render function it works.

ReactDOM.render(<InstallForm />,item);

String what I get from data-component attribute is also correct.

Someone have any idea how can I solve this problem?



via jaroApp

Advertisement