Skip to content

Commit 2e89c64

Browse files
committed
bug fixed and version updated
1 parent df38345 commit 2e89c64

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

example/src/components/SwitchCase.js

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,21 @@
1-
import React from 'react';
1+
import React, { useState } from 'react';
22
import { Div } from 'react-jsx-templating';
33

44
function SwitchCase() {
5-
const test = 'c';
5+
const [animal, setAnimal] = useState('');
66
return (
77
<div className="App">
8-
<Div $switch={test}>
9-
<div $case={'a'}>A</div>
10-
<div $case={'b'}>B</div>
11-
<Div $case={'c'}>C</Div>
12-
<div $case={'d'}>D</div>
13-
<div $default>Default</div>
8+
<input
9+
placeholder={'type `dog` or `cat`'}
10+
value={animal}
11+
onChange={e => setAnimal(e.target.value)}
12+
/>
13+
<Div $if={animal} $else={() => <div>Please type!! </div>}>
14+
<Div $switch={animal}>
15+
<div $case={'dog'}>woof-woof 🐕</div>
16+
<div $case={'cat'}>meows meows 🐈</div>
17+
<div $default>Ops!! No Match! </div>
18+
</Div>
1419
</Div>
1520
</div>
1621
);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-jsx-templating",
3-
"version": "0.0.2",
3+
"version": "0.0.3",
44
"description": "React Jsx Templating, inspired by Angular :)",
55
"author": "ritwickdey",
66
"license": "MIT",

src/lib/withTemplating.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@ function doSwitchCaseOperation(props, Component) {
4343

4444
for (let i = 0; i < totalNoOfNode; i++) {
4545
const child = totalNoOfNode === 1 ? children : children[i];
46+
if(!React.isValidElement(child)) continue;
47+
4648
const { $case, $default } = child.props;
4749

4850
if (isUndefined($case) && isUndefined($default)) {

0 commit comments

Comments
 (0)