8

I’m new to reason-react. I’m trying to put a copyright symbol in a react-reason component. I've tried

<span >(ReasonReact.stringToElement("&copy;"))</span>

but this doesn’t give me the © symbol.

glennsl
  • 28,186
  • 12
  • 57
  • 75
bonheury
  • 362
  • 1
  • 5
  • 14

4 Answers4

22

Simply put: &copy; if you don't put ; it will not work

Walid Bezoui
  • 249
  • 2
  • 5
15

If you're doing HTML entities like that you have to use the dangerouslySetInnerHTML attribute like so:

<span dangerouslySetInnerHTML={{ "__html": "&copy;" }} />
Neil Kistner
  • 11,623
  • 2
  • 18
  • 17
11

It's also possible, and usually simpler, to just use the unicode character:

let copy = ReasonReact.stringToElement({js|\u00a9|js});

// Since ReasonReact 0.7.0 you can use
let copy = React.string({js|\u00a9|js});

Or even shorter:

let copy = [%raw {|'\u00a9'|}];

It's also possible to use unicode characters directly, as long as the whole toolchain supports it properly:

let copy = React.string({js|©|js});

Then for either of these you can now do:

<span> {copy} </span>
glennsl
  • 28,186
  • 12
  • 57
  • 75
0

To use the use the copy symbol all you have to to is write this ' © '

make sure to write it exactly like that.

lakessyde
  • 21
  • 2