반응에서 텍스트를 출력하는 방법스팬으로 감싸지 않는 JS
ReactJS 기반 응용 프로그램에서는 다음을 수행합니다.
var _ = React.DOM;
_.span(null, 'some text', _.select(null, ...));
문제는 'some text'가 DOM의 추가 스판 요소로 랩되어 있다는 것입니다.이 동작을 피하고 원시 텍스트만 출력할 수 있는 방법이 있습니까?
명확히 하자면:출력하고 싶다
<span>some text<select>...</select></span>
것은 아니다.
<span><span>some text</span><select>...</select></span>
업데이트: 이것은 React v15(2016-04-06)에서 "고정"되었습니다.이제 댓글 노드는 각 텍스트에 추가되지만 더 이상 코멘트 노드로 둘러싸여 있지 않습니다.<span>태그를 붙입니다.
이번 릴리즈에서는 커뮤니티로부터 놀라운 공헌을 받고 있으며, 특히 Michael Wincek의 풀 요청을 강조하고 싶습니다.마이클의 작업 덕분에 리액트 15는 더 이상 추가 방출을 하지 않습니다.
<span>텍스트 주위의 노드를 사용하여 DOM 출력을 보다 선명하게 할 수 있습니다.이것은 React 사용자에게 오랜 골칫거리였기 때문에 외부로부터의 공헌으로 받아들이는 것은 매우 흥분되는 일입니다.
이것은 현재 React의 기술적 제한으로, ID를 할당하고 나중에 다시 참조할 수 있도록 범위 내의 모든 부동 텍스트 노드를 래핑합니다.향후 React 버전에서는 이 제한을 제거할 수 있기를 바랍니다.
마지막 수단으로 html을 하드코딩할 수 있습니다.
<option value={value} dangerouslySetInnerHTML={{__html: value}}></option>
음, 만약 당신이 이것을 하는데 열중하고 있고, 당신이 소품이나 주에 접근할 수 없다는 제한을 받아들인다면, 당신은 이것을 할 수 있습니다.
var Component = React.createClass({
displayName:"Statics",
statics: {
customRender: function(foo) {
return React.renderToStaticMarkup(<div
dangerouslySetInnerHTML={{__html: foo.bar }}/>);
}
},
render: function () {
return <div dangerouslySetInnerHTML={{__html:
<Component.customRender bar="<h1>This is rendered
with renderToStaticMarkup</h1>" />}} />
}
});
renderToStaticMarkup은 스팬이나 react-dataid를 삽입하지 않으며 정적 서버 렌더링을 위한 것입니다.좋은 생각은 아닌 것 같지만, 여기 있네요.
renderToStaticMarkup renderToString과 유사하지만 react가 내부적으로 사용하는 data-react-id 등의 추가 DOM 속성을 만들지 않습니다.추가 속성을 제거하면 많은 바이트를 절약할 수 있으므로 React를 단순한 정적 페이지 생성기로 사용할 경우 유용합니다.
http://learnreact.robbestad.com/#/static에서 결과를 확인합니다.
리액션과 리액트돔의 버전을 변경하여 완벽하게 동작했습니다.
"react": "^15.0.1",
"react-dom": "^15.0.1"
언급URL : https://stackoverflow.com/questions/24469474/how-to-output-text-in-reactjs-without-wrapping-it-in-span
'programing' 카테고리의 다른 글
| JavaScript Axios/Fetch 사용.브라우저 캐시를 비활성화할 수 있습니까? (0) | 2023.04.05 |
|---|---|
| backbone.js를 배우는 가장 좋은 방법은 무엇입니까?다른 대안이 있나요? (0) | 2023.04.05 |
| 인간용 JAAS (0) | 2023.04.05 |
| $routeProvider를 사용한 Angular 외부 경로 리다이렉트 (0) | 2023.04.05 |
| 입력 요소가 리액트 내에 집중되어 있는지 여부를 확인합니다.JS (0) | 2023.04.05 |