FormidableLabs/rapscallion

dangerouslySetInnerHTML fails with arrays

Open

#100 opened on Jun 16, 2017

View on GitHub
 (0 comments) (0 reactions) (0 assignees)JavaScript (68 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (1,397 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

If you attempt to render a tag such as this:

<p dangerouslySetInnerHTML={{
		__html: content,
}}/>

where content is an array, Rapscallon will fail on the adler checksum generator:

/Users/gcp/Thumbtack/universal-frontend/node_modules/@thumbtack/rapscallion/lib/adler32.js:28
    b += a += data.charCodeAt(i);
                   ^

TypeError: data.charCodeAt is not a function

renderToString() allows for arrays, so it seems like we should handle them here. I can fix by specifying content[0] (all of the arrays I'm dealing with at the moment are 1-length), though I'd need to do some additional research to know exactly what React is expected to output when an array is provided.

Contributor guide