React入門ノート
5039 ワード
JSX
一.導入方法 CDN導入(不推奨) create-react-ap 二.構文 class Nameではなく、クラス です.変数ラベルに挿入されたすべての変数は 変数nが必要ならば に書く.対象が必要なら、 と書く.
リセットの後は必ず() を追加します.
四.条件判断 ReactのJSX完全**はJSの書き方です. 手間を省きたいなら、このように書いてもいいです. forサイクル
)
リターン(
{arr}
)
)同理forサイクルは に変更できます.
VueとReactの最大の違いは:あなたはVueであなたに書いたv-xxx を使いたいです.やはりReactを使って自分でJSコード を書きたいです.
Reactコンポーネント
一.Element V.S Componentは、現在のところ、react要素を返す関数として、コンポーネント が挙げられている.
三.React両コンポーネント(一)関数コンポーネントクラス構成要素 を読み取る.関数構成要素 を直接読み出す.
五.stateを追加する(内部データ)種類のコンポーネント 読みます. 書き込み: set State注意事項: これは関数式の理念です.
関数構成要素は、React HookのAPIを使用してuseStateで配列に戻り、第一項は読みに用い、第二項は を書くために用いられる.複合データのstate 種類のコンポーネントのset Stateは、第1層の属性 を自動的にマージする.種類のコンポーネントの第二層は、「 を使用します.関数構成要素は完全に統合されません.データは1階のみの場合はそれぞれ動作します. 関数構成要素が2つある場合、「 を使用します.
イベントバインド種類のコンポーネントのイベントバインディング 関数構成要素のイベントバインディング createElement最初のパラメータ: 文字列、 を作成する.関数(関数構成要素)は、関数を呼び出し、戻り値を最初のパラメータ値 として取得する.クラス(クラス構成要素)の場合、newはクラスの一例であり、インスタンス JSX文法における等価は である.
一.導入方法
$ yarn global add create-react-app
$ create-react-app demo
$ cd demo
$ yarn start
const element =
hello world
3.注意事項
{}
で包まれます.{n}
{ { name:"oliver" } }
const App = ()=>{
return(
App
)
}
// , return undefined;
四.条件判断
const App = ()=>{
return (
{ n%2==0? : }
)
}
筋がほしいなら、このように書いてもいいです.const App = ()=>{
const el = n%2==?: :
return(
{el}
)
}
もしあなたが多くの分岐点を判断したいなら、このように書いてもいいです.const App = ()=>{
const el
if(n==1){ el = }
else if(n==2){ el = }
else if(n==3){ el = }
return (
{el}
)
}
五.循環文 const App = (props)=>{
const arr = []
for(let i=0; i {i}, {props.list[i]}
))
リターン(
{arr}
)
)
props.list.map((n,item)=>{
return {index}, {n}
})
VueとReactの最大の違いは:
Reactコンポーネント
一.Element V.S Component
// react (
const div = element
// react (
const Div = ()=>{
return component
}
二.コンポーネントとは何ですか?三.React両コンポーネント(一)関数コンポーネント
//
function Welcome(props){
return Hello, {props.name}
}
//
(二)クラスコンポーネント//
class Welcome extends React.Component {
render() {
return Hello, {this.props.name}
}
}
//
注意してください.関数コンポーネントにはthisがなく、変数とパラメータを使用します.props(外部データ)を追加します.
...
class Demo extends React.component{
render(
:{this.props.name}
)
}
は、直接属性this.props.xxx
...
const Demo = (props)=>{
return :{props.name}
}
は、パラメータprops.xxx
五.stateを追加する(内部データ)
this.state.xxx
// 1
this.setState({
n: this.state.n+1
})
// 2 !!
this.setState((state)=>{
const n = this.state.n+1
return {n}
})
this.setState.n += 1
無効setState
は、UIを非同期的に更新し、nの値はすぐには変更されない.オススメsetState((state)=>{return{...}})
関数方式const [n, setN] = useState(0);
...
return (
{n}
)
...
this.state={ m:0, n:0 }
...
this.setState( {n:0} ) // m , m undefined
...
」this.state={
user:{
name:"oliver", age:18
}
}
...
//
this.setState({
user:{
...this.state.user, //
age: 19
}
})
let [n,setN] = React.useState(0)
let [m,setM] = React.useState(0)
...
...
」let [myState,setMyState] = useState({
name: "oliver",
age: 18
})
//
setMyState({
...myState,
age: 19
})
イベントバインド
class App extends React.component{
// addN ,
addN = ()=> this.setState({n:this.state.n+1})
constructor(){
super()
}
...
}
const App = ()=>{
sayHi = ()=> { console.log('hi') }
return (
)
}
'div'
のような場合、
render()
を呼び出して、戻り値を最初のパラメータとして取得する.React.createElement('div')