本文へ移動

Tane種

シードで同じ数列を再現し、項目を並べ替えたり選んだり、日替わりの問題を共有したり、保存した位置から再開したりできます。

「種」は英語の seed に当たる日本語です。 名前について(英語)

目次

リファレンス · Reactフック

useSeeded関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

Something made once from a seeded stream, and made again only when the seed changes: useSeeded(seed, (random) => shuffled(random, deck)). The stream is fresh each time, so the result depends on the seed alone, never on how many times the component rendered. make is read when the seed changes; for anything else it depends on, give the component a key.

インポート

import { useSeeded } from "@johnmorrisdotca/tane/react";

定義

function useSeeded<T>(seed: number, make: (random: Random) => T): T

引数

名前型説明
seednumber

The numeric seed, read as an unsigned 32-bit integer by the stream.

make(random: Random) => T

A callback that builds a value from the fresh seeded stream.

戻り値

T

The value built from the seeded stream, retained until the seed changes.

例

import { useSeeded } from "@johnmorrisdotca/tane/react";
import { pick } from "@johnmorrisdotca/tane";

import { createElement } from "react";
function Choice() {
  const choice = useSeeded(42, (random) => pick(random, ["A", "B", "C"]));
  return createElement("p", null, choice);
}
console.log(createElement(Choice));

ソースを見るGitHub で編集@johnmorrisdotca/tane 1.3.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。