diff --git a/packages/bbob-react/src/render.js b/packages/bbob-react/src/render.js
index cc4478f..abe78d3 100644
--- a/packages/bbob-react/src/render.js
+++ b/packages/bbob-react/src/render.js
@@ -1,3 +1,4 @@
+/* eslint-disable no-use-before-define */
import React from 'react';
import core from '@bbob/core';
import * as html from '@bbob/html';
@@ -10,12 +11,13 @@ const toAST = (source, plugins, options) => core(plugins)
render: (input) => html.render(input, { stripTags: true }),
}).tree;
+const isContentEmpty = (content) => (!content || content.length === 0);
+
function tagToReactElement(node, index) {
return React.createElement(
node.tag,
{ ...node.attrs, key: index },
- // eslint-disable-next-line no-use-before-define
- node.content ? renderToReactNodes(node.content) : null,
+ isContentEmpty(node.content) ? null : renderToReactNodes(node.content),
);
}
diff --git a/packages/bbob-react/test/index.test.js b/packages/bbob-react/test/index.test.js
index eacca41..81084f4 100644
--- a/packages/bbob-react/test/index.test.js
+++ b/packages/bbob-react/test/index.test.js
@@ -43,6 +43,12 @@ describe('@bbob/react', () => {
expect(html).toBe('https://en.wikipedia.org')
});
+ test('[b]Testing[/b][hr]', () => {
+ const html = renderBBCode('[b]Testing[/b][hr]');
+
+ expect(html).toBe('Testing
')
+ });
+
describe('options.onlyAllowTags', () => {
test('render "[Super Feature] and [i]super[/i]" when only [i] allowed', () => {
const html = renderBBCode('[Super Feature] and [i]super[/i]', { onlyAllowTags: ['i'] });