Skip to content

Missing unescaping when accessing prop with exotic name #7431

Closed
@cknitt

Description

@cknitt

In v12,

module MyWeirdComponent = {
  type props = {\"MyWeirdProp": string}

  let make = props =>
    <p>
      {React.string("foo")}
      {React.string(props.\"MyWeirdProp")}
    </p>
}

compiles to

function make(props) {
  return JsxRuntime.jsxs("p", {
    children: [
      "foo",
      props["\\\"MyWeirdProp\""]
    ]
  });
}

let MyWeirdComponent = {
  make: make
};

(note the "\\\"MyWeirdProp\"") whereas in v11 it used to be correct:

function make(props) {
  return JsxRuntime.jsxs("p", {
              children: [
                "foo",
                props.MyWeirdProp
              ]
            });
}

var MyWeirdComponent = {
  make: make
};

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions