React

by Abdul Ahmad

HTML

<div id="app"></div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#app {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  transition: all 0.2s;
}

li {
  margin: 8px 0;
}

h2 {
  font-weight: bold;
  margin-bottom: 15px;
}

.done {
  color: rgba(0, 0, 0, 0.3);
  text-decoration: line-through;
}

input {
  margin-right: 5px;
}

React

function App() {
	return (
  	<Module 
      prop='prop2 value' 
      Comp={Wrap({ prop1: 'prop1 value' })} 
    />
  );
}

function Module({ prop, Comp }) {
	return <Comp prop2={prop} />
}

function Wrap({ prop1 }) {
	return ({ prop2 }) => (
  	<Actual prop1={prop1} prop2={prop2} />
  );
}

function Actual({ prop1, prop2 }) {
	return 'prop1: ' + prop1 + ' prop2: ' + prop2;
}

ReactDOM.render(<App />, document.querySelector("#app"))