use
-alkuliitettä. Tässä on yksinkertainen esimerkki:1import { useState } from 'react';
2
3function useUserData() {
4 const [user, setUser] = useState(null);
5
6 const fetchUser = async (id) => {
7 const response = await fetch(`/api/users/${id}`);
8 const data = await response.json();
9 setUser(data);
10 };
11
12 return { user, fetchUser };
13}
14
useUserData
on mukautettu koukku, joka hallitsee käyttäjädataa.1import React, { useEffect } from 'react';
2import useUserData from './useUserData';
3
4function UserProfile({ userId }) {
5 const { user, fetchUser } = useUserData();
6
7 useEffect(() => {
8 fetchUser(userId);
9 }, [userId]);
10
11 return user ? <div>{user.name}</div> : <div>Loading...</div>;
12}
13
UserProfile
-komponentti käyttää useUserData
-koukkua käyttäjätietojen hakemiseen.1import { useState } from 'react';
2
3function useForm(initialValues) {
4 const [values, setValues] = useState(initialValues);
5
6 const handleChange = (event) => {
7 const { name, value } = event.target;
8 setValues(prevValues => ({ ...prevValues, [name]: value }));
9 };
10
11 return { values, handleChange };
12}
13
useForm
-koukku hallitsee lomakkeen tilaa ja syöttöjä.1open class Animal {
2 fun eat() {
3 println("Animal is eating")
4 }
5}
6
7class Dog : Animal() {
8 fun bark() {
9 println("Dog is barking")
10 }
11}
12
Animal
on avattu luokka, joka voi olla perintöluokkana. Dog
perii ominaisuudet Animal
-luokasta ja voi käyttää sen metodeja.1open class Animal {
2 fun eat() {
3 println("Animal is eating")
4 }
5}
6
7open class Mammal : Animal() {
8 fun walk() {
9 println("Mammal is walking")
10 }
11}
12
13class Dog : Mammal() {
14 fun bark() {
15 println("Dog is barking")
16 }
17}
18
Dog
-luokka perii ominaisuudet sekä Mammal
- että Animal
-luokilta.Animal
-luokan eat
-metodia:1open class Animal {
2 open fun eat() {
3 println("Animal is eating")
4 }
5}
6
7class Dog : Animal() {
8 override fun eat() {
9 println("Dog is eating")
10 }
11}
12
Dog
-luokassa on oma versio eat
-metodista.