React Hooks 대 Svelte
6636 단어 javascriptsveltewebdev
React Hooks 문서의 기본 예를 살펴보겠습니다. 여기에 버튼이 있는 간단한 구성 요소와 버튼을 클릭한 횟수를 보여주는 텍스트가 있습니다. 버튼이 클릭된 횟수를 추적하기 위해 컴포넌트의 일부 상태를 사용하고 있습니다. 상태 저장 구성 요소를 사용하는 훌륭하고 간단한 예입니다.
import React, { useState } from 'react';
function Example() {
// Declare a new state variable, which we'll call "count"
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>Click me</button>
</div>
);
}
Svelte로 작성하면 어떻게 될까요? 위의 코드 대부분은 우리가 없이도 할 수 있는 React 상용구입니다. 모든 상용구를 주석 처리하여 시작하겠습니다.
// import React, { useState } from 'react';
// function Example() {
// Declare a new state variable, which we'll call "count"
const [count, setCount] = useState(0);
// return (
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>Click me</button>
</div>;
// );
// }
그것은 우리에게 어느 정도 도움이되지만 여전히 유효한 Svelte가 아닙니다. Svelte는 HTML의 확장이므로 JavaScript 코드를
<script>
블록에 넣고 React의 useState
함수 대신 로컬 상태 변수를 사용하도록 변경해야 합니다.<script>
// Declare a new state variable, which we'll call "count"
let count = 0;
</script>
<div>
<p>You clicked {count} times</p>
<button onClick={() => setCount(count + 1)}>Click me</button>
</div>
이것은 Svelte에 매우 가깝지만 한 가지 더 변경해야 합니다. React의
onClick
속성을 Svelte의 on:click
로 변경한 다음 클릭 핸들러를 변경하여 단순히 증분count
하도록 해야 합니다.<script>
// Declare a new state variable, which we'll call "count"
let count = 0;
</script>
<div>
<p>You clicked {count} times</p>
<button on:click={() => count++}>Click me</button>
</div>
모두 완료되었습니다! React 코드를 Svelte 코드로 변경하면 대부분의 시간을 코드를 삭제하는 데 사용하고 코드를 삭제하는 것이 놀랍습니다!
여기서 주요 차이점은 상태가 내부에 묶이는 대신 로컬 JavaScript 변수에 유지된다는 것입니다
useState
. 즉, 함수를 호출하지 않고 상태 변수를 새 값으로 설정할 수 있으며 구성 요소 코드를 매우 깨끗하고 간결하게 유지할 수 있습니다.사실, 당신이 저에게 와서 Svelte보다 훨씬 더 간단한 새로운 프레임워크를 가지고 있다고 말한다면 저는 그것을 믿기 어려울 것입니다! Svelte 구성 요소에서 무엇을 제거할 수 있습니까? Vanilla JavaScript조차도 이 기본 Svelte 예제보다 훨씬 더 복잡합니다. Svelte는 웹 구성 요소를 가능한 한 단순하게 만들지만 더 이상 단순하지 않습니다.
Svelte 및 웹 개발에 관심이 있으십니까? Subscribe to the Coding with Jesse newsletter!
Reference
이 문제에 관하여(React Hooks 대 Svelte), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jesseskinner/react-hooks-vs-svelte-1i9m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)