Error: ENOENT: no such file or directory, uv_cwd
@material-uiパッケージをインストールして npm start したときに発生したエラーです。
Error: ENOENT: no such file or directory, uv_cwd
~
{
errno: -2,
code: 'ENOENT',
syscall: 'uv_cwd'
}
Node.js v21.6.1
というメッセージが出ました。
対処方法
cdで一度ひとつ上のディレクトリに移動します。もう一度元のディレクトリに戻ります。そして npm start を行うと開発サーバーが立ち上がりました。
React18以降のダブルレンダリング回避
React18以降からデフォルトのStrictModeにおいてBugを検出する仕組みが変わっています。開発モード時にコンポーネントを2回マウントします。index.jsファイルを修正すると1回のマウントに戻すことができます。下記の2行をコメントアウトします。
import React from 'react';
import ReactDOM from 'react-dom/client';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode> //この行をコメントアウト
<App />
</React.StrictMode> //この行をコメントアウト
);
npm start 時にランタイムエラー
- (親)App.jp
- (子)B.jp
- (孫) C.jp
このような構造のときにB.jsで<C />を指定するのを<B />と指定してしまったら(自分で自分を表示)ランタイムエラーが出ました。下記のコードを<C />に直せばうまく表示されます。
import C from './C';
import React from 'react'
const B = () => {
return (
<div>
<h3>B</h3>
<B /> //この部分をCに変更
</div>
)
}
export default B