React est de loin le plus grand framework Javascript frontend du développement web moderne. Cependant, Svelte n'a cessé de gagner en popularité au cours des dernières années. Ce qui rend Svelte si spécial.
SolidJS est un framework d'interface utilisateur dont la syntaxe est très similaire à React mais est compilé en javascript moderne, comme Svelte permet aux gens d'obtenir la vitesse et les tailles de bundle de Svelte mais utilisent la syntaxe React à laquelle ils sont habitués.
Exécutez simplement la commande suivante pour générer un nouveau projet…
npm init solid app ProjectName
ou pour dactylographié
npm init solid app-ts ProjectName
Donc, dans React, vous utiliseriez normalement le hook useState pour générer une variable d'état et le processus fonctionne toujours à peu près de la même manière dans SolidJS sauf que maintenant nous utilisons la fonction createSignal.
import {createSignal} from "solid-js"
import './App.css';
function App() {
// create state
const [count, setCount] = createSignal(1)
// add function
const add = () => {
//notice in this context I must invoke the state to get the value (not in jsx)
setCount(count() + 1)
}
// JSX works like normal
return (
<div class="App">
<h1>My Counter</h1>
<h2>{count}</h2>
<button onClick={add}>Add</button>
</div>
);
}
export default App;
Voici où penser en solide est très différent de penser dans React. Dans React, le composant entier est une fonction qui s'exécute à chaque fois que vous définissez des mises à jour, ce qui rend possible des boucles infinies lors de la modification de l'état des appels de fonction dans le corps de la fonction du composant. Dans React, la solution à cela est de déplacer ce type de code dans sa propre fermeture avec le hook useEffect pour l'exécuter lorsque vous le souhaitez et non sur tous les rendus de la fonction du composant.
Solid n'utilise pas de DOM virtuel et lors des mises à jour d'état, il n'exécute pas à nouveau la fonction de composant. Au lieu de cela, le code réactif est enveloppé dans des appels createEffect qui réexécutent ensuite la fonction lorsqu'un signal à l'intérieur d'eux est mis à jour. L'avantage de ceci est…
La bonne chose à ce sujet est que les mises à jour sont plus granulaires, ce qui rend inutile la dépense d'un dom virtuel (seul le code qui dépend des données mises à jour changera sans avoir à exécuter de comparaisons.)
Solid conserve ce qui est génial dans la syntaxe React, mais utilise également les approches d'amélioration des performances de Svelte. Je ne serais pas surpris de voir SolidJS grandir dans la même veine que des Frameworks comme Svelte et React!
Introduction Un accident vasculaire cérébral est une urgence médicale qui peut frapper n'importe qui à tout moment. Elle survient lorsque le flux sanguin vers une partie du cerveau est perturbé, entraînant une perte soudaine de la fonction cérébrale.
Les tests sont une partie essentielle du développement logiciel. Il garantit que le code est fiable, fonctionne comme prévu et réduit la probabilité d'erreurs.
Combien de fois avez-vous jeté une bouteille en plastique, un bocal en verre, une canette en aluminium ou un paquet d'énergie verte sans réfléchir à deux fois ? Combien de fois avez-vous souhaité pouvoir obtenir quelque chose en échange de leur recyclage ? Si vous êtes comme la plupart des gens, la réponse est probablement plusieurs fois. Le recyclage est souvent perçu comme un tracas, une corvée ou un devoir qui n'apporte aucun bénéfice immédiat ou tangible.
Nous avons souvent du mal à mettre en œuvre ce que nous savons être bon pour nous. Qu'il s'agisse de dire à un proche que nous l'aimons ou de se rappeler de parler comme un pirate, il y aura toujours ceux qui prétendent qu'un jour, une semaine ou un mois d'événements ne sont pas nécessaires parce qu'ils font déjà ces choses.
Quand tu grandis, on a tendance à te dire que le monde est comme il est et que ta vie est juste de vivre ta vie à l'intérieur du monde, sans jamais risquer ta vie, juste suivre un chemin tracé et mourir à la fin, et essayer de ne pas cogner trop les murs. Mais c'est une vie très limitée.