ReScript: React 구성 요소 만들기
// Button.res
@react.component
let make = (~onClick) => {
<button onClick>{React.string("Click me")}</button>
}
코드를 한 줄씩 단계별로 살펴보고 무슨 일이 일어나는지 봅시다.
@react.component는 rescript-react에게 구성 요소를 작성하고 있음을 알려주는 데코레이터이며 props 설정을 올바르게 가져오기 위해 장면 뒤에서 일부 코드를 생성합니다.let make = (~onClick) => {는 구성 요소 기능의 시작을 정의합니다. 모든 것이 올바르게 작동하려면 함수 이름이 make여야 합니다. make는 모듈의 "주요"기능에 대한 규칙이기도 하며 ReScript의 모든 파일은 모듈입니다. onClick는 명명된 인수입니다. JavaScript React에서 ... = ({ onClick }) =>로 정의된 props와 비교할 수 있습니다. 이 경우 이 구성 요소에 대한 유일한 prop입니다.<button onClick>는 JSX의 시작이며 일반 React처럼 작동합니다. 차이점은 버튼에 보내는 onClick 소품에 있습니다. React에서는 onClick={onClick} 해야 하지만 rescript-react JSX에는 punning 가 있습니다. 이것은 return { onClick } 대신 return { onClick: onClick }를 수행할 수 있는 JavaScript의 객체처럼 작동합니다.onClick의 유형은 ReactEvent.Mouse.t => unit와 같은 사용법에 의해 유추되므로 prop의 유형을 직접 정의할 필요가 없습니다. 유형은 또한 소품이 필요함을 나타냅니다.버튼 내부에 텍스트를 표시하기 위해
React.string("Click me") 를 사용합니다. ReScript는 모든 JSX 자식이 동일한 유형React.element을 가져야 합니다. React.string 는 일반 "Click me" 문자열을 React.element 로 변환합니다. rescript-react에는 int , float , string , array 와 같은 대부분의 원시 값을 React 요소로 변환하는 도우미 메서드가 있습니다.생성된(ES6) 코드는 다음과 같습니다.
// Generated by ReScript, PLEASE EDIT WITH CARE
import * as React from 'react'
function Test(Props) {
var onClick = Props.onClick
return React.createElement(
'button',
{
onClick: onClick,
},
'Click me'
)
}
var make = Test
export { make }
/* react Not a pure module */
Reference
이 문제에 관하여(ReScript: React 구성 요소 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/believer/rescript-creating-a-react-component-mbi텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)