ウェブサイト検索

javascript - ページをリロードするたびに Math.random() が同じ「ランダム」な数を生成する原因は何ですか?

私はElectronアプリを作っていて、レンダラープロセスでMath.random()を呼び出すメソッドがあります。単純に return Math.floor(Math.random() * 1000) としているだけで、特別なことは何もしていません。問題は、アプリを実行するたびに文字通り同じ数字が返ってくることです。541、271、919、284…など。アプリを再度開くたびに、同じ順序で同じ数字が出てきます。

これの原因は何でしょうか?

編集:これは奇妙な問題です。いくつかのテストをした後、私は次のことを記録しました

  • この問題はレンダラープロセス(TypeScriptで書かれ、Webpackでコンパイルされた)でのみ発生します。

  • window.crypto.getRandomValues(array) は期待通りに動作します。

回答 #1

c

続きを読む →

html - Javascript 画像をランダム表示(同じ画像を表示しない)

私のポートフォリオサイトには、私のすべての写真をメイソンリータイプのグリッドで表示するギャラリーがあります。今、それらの写真を一度も重複せずにランダム化したいです!つまり、ギャラリーに同じ画像が表示されないようにしたいのです。

// place your images in this array var random_images_array = [ 'Laundry_Shoot (1).JPG', 'Laundry_Shoot (5).JPG', 'Laundry_Shoot (10).JPG', 'Laundry_Shoot (28)

続きを読む →

リフレクション - TypeScriptを使って任意のクラスからランダムなオブジェクトを作ることは可能ですか?

私はこのように動作するテストヘルパーを実装するつもりでした:

class MyClass { field1: string; field2: number; } const randomObject: MyClass = Magic.generateRandomObject(MyClass);

そして、randomObject は適切な型の値で field1 と field2 のフィールドが埋められることになります。

しかし、TypeScriptでそれをどう実現できるのかは分かりません。それが最終的にJSにトランスパイルされる言語で、このようなことが可能なのでしょうか。私が調べた限りでは、reflect-metadataを使うことはできるようですが、その場合、メタデータを生成するデコレーターで注釈されたフィールドを持つクラスだけを使用する必要があるようです、もし私が正しく理解していれば。

続きを読む →

typescript - DOM を未定義の可能性があるとして宣言する方法

私の同僚と私は現在、モノレポ内でNuxtを使用して新しいVue SSRアプリを構築しています。Nuxtアプリはパッケージとしてあり、もう一つは私たちのコンポーネントライブラリです。私たちは皆TypeScriptにはあまり慣れていませんが、問題なくすべてをセットアップすることができました。

問題は、コンポーネントライブラリはSSRに対応している必要がありますが、Nuxt自体を意識するべきではないということです。そのため、windowのプロパティにアクセスする際には、if (process.browser)よりもif (typeof window !== 'undefined')を使いたいです。今、考えているのは、誰かがwindowのプロパティにアクセスする際に、まずそれが定義されているかどうかを確認せずにアクセスしようとした場合に、TypescriptとEslintを使ってエラーを出せるかどうかです。

// Not SSR friendly const halfWinHeight = win

続きを読む →

typescript - @types/dom-mediacapture-record をインストールしたにもかかわらず、名前 'MediaRecorder' が見つかりません

私はReactとTypeScriptを使ってオーディオ録音アプリを作ろうとしています。ユーザーの音声を録音するには、MediaRecorderクラスを使用する必要があります。[この問題](https://github.com/microsoft/TypeScript/issues/34728)に基づき、@types/dom-mediacapture-recordをインストールしましたが、それでもエラーが表示されます。

コード:

const recordAudio = () => { navigator.getUserMedia( { audio: true }, (stream) => { // Error is here const mediaRecorder = new MediaRecorder(stream); (err

続きを読む →

TypeScriptオブジェクトからランダムなプロパティを取得する:

オブジェクトを引数として受け取り、そのオブジェクトのランダムなプロパティを返す関数を作ろうとしています。この質問には回答が示されていますが、TypeScriptはオブジェクトを文字列でインデックスしていることを好みません。

const randomElement = (obj: object) => { var keys = Object.keys(obj); return obj[keys[keys.length * Math.random() << 0]]; }

私のプロジェクトでは、この関数は常に同じタイプのオブジ

続きを読む →

より緩いTypeScriptのDOM定義や設定はありますか?

私は Document インターフェースに対して、より 正確でない型を欲しいと思っています。基本的に、いつも私が欲しいのは HTMLElement なのに、全てが Element 型になっています。(document.activeElement.previousElementSibling as HTMLElement).click(); のように as アサーションやキャストを散りばめることは、コードをきれいにするどころか、js から ts に移行する際に 非常に多くの摩擦を生んでしまいます。Document インターフェースのすべてが HTMLElement、または Element & Partial<HTMLElement> のような型で扱われると素晴らしいと思います。

私は、宣言のマージが、

続きを読む →

reactjs - React/TypeScript 条件付きルーティング - React Router Dom v5 から v6 への更新

私はTypeScriptの初心者で、アプリのReact Routerのバージョンをv5からv6に更新しています。この条件付きルーティングのラッパーをどのように更新するかでつまずいています:

// v5 import React from "react"; import { Redirect, RedirectProps, Route, RouteComponentProps, RouteProps, } from "react-router

続きを読む →

typescript - tsconfigからlib.dom.d.tsを除外するにはどうすればいいですか?

Eventという名前のクラスを宣言しました:

class Event {}

...そしてTypeScriptは重複する識別子についてエラーを出します:

Duplicate identifier 'Event'.ts(2300) lib.dom.d.ts(4870, 11): 'Event' was also declared here. lib.dom.d.ts(4912, 13): and here

lib.dom.d.ts の型が自動的にインポートされないようにするにはどうすればよいですか?

続きを読む →

javascript - React: エラー Module '"react-router-dom"' にエクスポートされたメンバー 'useNavigate' がありません

トップの回答に記載されているように使用するために、useNavigate をインポートしようとしています: React ボタン onClick ページリダイレクト

import { useNavigate } from "react-router-dom";

しかし、私はこのエラーが出ます:

export 'useNavigate' (imported as 'useNavigate') was not fo

続きを読む →