一気に怒る理解js::作成-反応-appなし
35407 ワード
index.htmlファイルで終わりましょう.
react.jsとreact-domjsがあればいいです.
構成部品を再使用できます.
クラス構成部品にはstateというプロパティとsetStateというメソッドがあるため、値を変更するたびにrenderが再呼び出されます.
画面を描き直すという意味です
これでcreate-act-appを利用してJSX、styled-componses、アニメーション、ルーティング、reductsを再学習し、必要に応じて一つ一つ学ぶことができます.
react.jsとreact-domjsがあればいいです.
<head>
にこれを入れて<!-- head -->
<script crossorigin src="https://unpkg.com/react@17/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.development.js"></script>
反応の根元をreactDOMで所望の位置に挿入すればよい<!-- body -->
<div id="content"></div>
<script>
ReactDOM.render(
React.createElement('h1', null, 'Hello World'),
document.getElementById('content')
);
</script>
今回はクラス素子を作ってみました.<!-- body -->
<div id="content"></div>
<script>
class HelloWorld extends React.Component {
render() {
return React.createElement('h1', null, 'Hello World');
}
}
ReactDOM.render(
React.createElement(HelloWorld, null),
document.getElementById('content')
);
</script>
今回は関数素子を作ります.<!-- body -->
<div id="content"></div>
<script>
function helloWorld(props) {
return React.createElement('h1', null, 'Hello World');
}
ReactDOM.render(
React.createElement(helloWorld, null),
document.getElementById('content')
);
</script>
クラスエレメントのpropsに値を渡します.構成部品を再使用できます.
<!-- body -->
<div id="content"></div>
<script>
class HelloWorld extends React.Component {
render() {
return React.createElement('h1', null, this.props.title);
}
}
ReactDOM.render(
React.createElement(
'div',
null,
React.createElement(HelloWorld, { title: 'Hello World' }),
React.createElement(HelloWorld, { title: 'Hello Banjubu' }),
React.createElement(HelloWorld, { title: 'Hello Juelria' })
),
document.getElementById('content')
);
</script>
関数素子のpropsに値を渡します.<!-- body -->
<div id="content"></div>
<script>
function helloWorld(props) {
return React.createElement('h1', null, props.title);
}
ReactDOM.render(
React.createElement(
'div',
null,
React.createElement(helloWorld, { title: 'Hello World' }),
React.createElement(helloWorld, { title: 'Hello Banjubu' }),
React.createElement(helloWorld, { title: 'Hello Juelria' })
),
document.getElementById('content')
);
</script>
クラス構成部品には、作成サイクルに基づいて自動的に呼び出される方法があります.<!-- body -->
<div id="content"></div>
<script>
class HelloWorld extends React.Component {
constructor() {
super();
console.log('constructor');
}
componentDidMount() {
console.log('componentDidMount');
}
componentWillUnmount() {
console.log('componentWillUnmount');
}
render() {
return React.createElement('h1', null, this.props.title);
}
}
ReactDOM.render(
React.createElement(HelloWorld, { title: 'Hello World' }),
document.getElementById('content')
);
</script>
タグの作成時に属性値を入力できます.<a>
ラベルを試してみましょう.<!-- body -->
<div id="content"></div>
<script>
class HelloWorld extends React.Component {
render() {
return React.createElement(
'a',
{ href: 'https://banjubu.tistory.com' },
'Go to the Banjubu.com'
);
}
}
ReactDOM.render(
React.createElement(HelloWorld, { title: 'Hello World' }),
document.getElementById('content')
);
</script>
一度見て終わったページは面白くないのではないでしょうか.クラス構成部品にはstateというプロパティとsetStateというメソッドがあるため、値を変更するたびにrenderが再呼び出されます.
画面を描き直すという意味です
<!-- body -->
<div id="content"></div>
<script>
class HelloWorld extends React.Component {
constructor() {
super();
this.state = { txt: '' };
}
render() {
return React.createElement(
'div',
null,
React.createElement('label', null, this.state.txt),
React.createElement('input', {
value: this.state.txt,
onChange: (event) =>
this.setState({ txt: event.target.value }),
})
);
}
}
ReactDOM.render(
React.createElement(HelloWorld, null),
document.getElementById('content')
);
</script>
関数コンポーネントはuseState hook(hooks)を使用します.<!-- body -->
<div id="content"></div>
<script>
function helloWorld() {
const [txt, setTxt] = React.useState('');
return React.createElement(
'div',
null,
React.createElement('label', null, txt),
React.createElement('input', {
value: txt,
onChange: (event) => setTxt(event.target.value),
})
);
}
ReactDOM.render(
React.createElement(helloWorld, null),
document.getElementById('content')
);
</script>
基本はすべてマスターしましたこれでcreate-act-appを利用してJSX、styled-componses、アニメーション、ルーティング、reductsを再学習し、必要に応じて一つ一つ学ぶことができます.
Reference
この問題について(一気に怒る理解js::作成-反応-appなし), 我々は、より多くの情報をここで見つけました https://velog.io/@banjubu/단숨에-React.js-이해하기-create-react-app-없이テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol