FormidableLabs/rapscallion

dangerouslySetInnerHTML fails with arrays

Open

#100 opened on Jun 16, 2017

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

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