FormidableLabs/rapscallion

dangerouslySetInnerHTML fails with arrays

オープン

#100 opened on 2017/06/16

 (0 件のコメント) (0 件のリアクション) (0 人の担当者)JavaScript (68 件のフォーク)batch import
enhancementhelp wanted

Repository metrics

Stars
 (1,397 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

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.

コントリビューターガイド