読み込みが終了しない場合は、しばらく待つか、リロードを行なってください。
                    
                    
                        If loading does not finish, wait for a while or reload.
                    
                    
                            
                            エンジニア向けの情報を発信するブログです。
                            どなたでも発信できます。
                            お好きに利用していただれば幸いです。
                        
                

import './App.css';
import {useState} from 'react';
function App() {
    let app_style = {
        position: 'absolute',
        top: '50%',
        left: '50%',
    };
    const initialButtonStyle = {
        color: 'initial',
    };
    const [button_style, setButtonStyle] = useState(initialButtonStyle);
    return (
        <div className="App" style={app_style}>
            通常
            <button style={button_style} onClick={() => setButtonStyle(button_style.color === 'red' ? {color: 'initial'} : {color: 'red'} )}>ボタン</button>
        </div>
    );
}
export default App;

import './App.css';
import {useEffect} from 'react';
function App() {
    let app_style = {
        position: 'absolute',
        top: '50%',
        left: '50%',
    };
    // 👇 scriptを埋め込む処理
    let script = null;
    // 同じscriptが量産されるのを防ぐため同じscriptタグがある場合は処理しない
    if (document.querySelector('#crazy_script') === null) {
        script = document.createElement('script');
        script.id = 'crazy_script';
        // innerHTMLでやりたい内容を書く
        script.innerHTML = `
            let button = document.getElementById('button');
            button.addEventListener('click', function (e) {
                console.log('力技'); // 👈ちゃんと反応してるかデバッグ
                if (this.style.color !== 'initial') {
                    this.style.color = 'initial';
                } else {
                    this.style.color = 'red';
                }
            });
        `;
    }
    // reactのレンダリング後にscriptを埋め込みたいのでuseEffectで埋め込む
    useEffect(() => {
        if (script !== null) {
            document.body.appendChild(script);
        }
    })
    return (
        <div className="App" style={app_style}>
            力技
            <button style={{color: 'initial'}} id="button">ボタン</button>
        </div>
    );
}
export default App;


