아래 JSX를 사용하여 프로그래밍 방식으로 인라인 스타일을 설정하면 페이지가로드되지 않습니다. 문제를 설명하기 위해 코드를 단순화했습니다.React는 객체를 전달하더라도 인라인 스타일 속성을 문자열로 봅니다.
The style prop expects a mapping from style properties to values,
not a string. For example, style={{marginRight: spacing + 'em'}} when
using JSX.
이 내 첫 날 학습 반응하고 JSX 그래서 분명 뭔가가 있어야합니다 :
const AboutPage =() => {
let buttonStyle = { color: 'red' };
return (
<div>
<input type="button" style="{buttonStyle}" value="Click Me" />
</div>
);
}
나는 브라우저 콘솔에서이 오류가 발생합니다. 그러나 그것은 내가 옳은 일을하고있는 것처럼 보입니다 : 나는 중괄호 안에 물체 (끈이 아닌)를 넣을 것입니다. 왜 React는 이것을 문자열로 해석합니까?
공식적인 문서에 https://facebook.github.io/react/docs/dom-elements.html#style이 명시되어 있습니다. "Google 반사"가 너무 강해서 가끔씩 저항하지 않습니다. – 62mkv
기쁜 당신이 알아 냈습니다. 'style = {{color : "red"}}'처럼 스타일을 인라인으로 선언 할 수도 있습니다. 이중 중괄호에주의하십시오. 일반적으로 대시 (예 : font-size, text-align 등)로 작성된 CSS 속성은 대신 camel-case로 작성됩니다 (예 : fontSize, textAlign 등). – Chris
@ 62mkv - 인라인 스타일의 문서입니다. (게시하기 전에 읽었습니다.)하지만 내 오류가 더 근본적이기 때문에 그 문서가 도움이되지 않았습니다. JSX 파서가 속성 주위의 따옴표를 허용하지 않는다는 것을 알지 못했습니다. 값은 JavaScript로 해석되어야합니다. 방금 JSX 문서 (https://facebook.github.io/react/docs/introducing-jsx.html#specifying-attributes-with-jsx)의 관련 섹션에 대한 풀 요청을 작성하여 스트립 따옴표. –