您好,登錄后才能下訂單哦!
這篇文章主要講解了“react組件傳值的方法有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“react組件傳值的方法有哪些”吧!
父組件
classAppextendsReact.Component{ state={ name:'jack', age:19, gender:'男', count:1 } render() { return<div > 御劍乘風來,除魔天地間! <Child {...this.state} hobby={[1,2,3,4]}></Child> </div> }
子組件:
const Child = (props) => { console.log(props,99); return<div> 御劍乘風來,除魔天地間!===Child======{props.count} </div> };
父組件
classAppextendsReact.Component{ state={ name:'jack', age:19, gender:'男', count:1 } handle2=(msg)=>{ console.log(msg,77); // 123 } render() { return<div > 御劍乘風來,除魔天地間!== <ChildgetMsg={this.handle2}></Child> </div> }
子組件:
const Child = (props) => { console.log(props,99); var handle=()=>{ console.log(111); props.getMsg('123') } return<div> 御劍乘風來,除魔天地間!===Child====== <buttononClick={handle}>child1</button></div> };
child1 向 child2 傳值
思路:child 傳到app ,然后app傳到child2
classAppextendsReact.Component{ state={ name:'jack', age:19, gender:'男', count:1 } handle2=(msg)=>{ console.log(msg,77); // 123this.setState({ count:this.state.count+msg }) } render() { return<div > 御劍乘風來,除魔天地間!== <ChildgetMsg={this.handle2} ></Child> <Child2count={this.state.count}></Child2> </div> }
子組件1:
const Child = (props) => { console.log(props,99); var handle=()=>{ console.log(111); props.getMsg('123') } return<div> 御劍乘風來,除魔天地間!===Child====== <buttononClick={handle}>child1</button></div> }; const Child2 = (props) => { console.log(props,99); var handle=()=>{ console.log(111); props.getMsg('123') } return<div> 御劍乘風來,除魔天地間!===Child====== <buttononClick={handle}>child1</button></div> };
步驟:
1- const {Provider,Consumer} = React.createContext()
2- Provider包裹父組件 定義value是需要傳的值 ====<Provider value={this.state.count}>
3- Consumer包裹需要接收數據的組件 data接收數據
<Consumer > {data=>( <div> 御劍乘風來,除魔天地間! ==Child2*****{data} </div> )}
代碼如下:
import React from 'react'const {Provider,Consumer} = React.createContext() const Child = (props) => { console.log(props,99); return <div> 御劍乘風來,除魔天地間!===Child </div> }; classChild2extendsReact.Component{ render() { return <div> <Consumer > {data=>( <div> 御劍乘風來,除魔天地間! ==Child2*****{data} </div> )} </Consumer> </div> } } classAppextendsReact.Component{ state={ name:'jack', age:19, gender:'男', count:1 } render() { return <Provider value={this.state.count}> 御劍乘風來,除魔天地間!=={this.state.name} <Child></Child> <Child2></Child2> </Provider> } } export default App
感謝各位的閱讀,以上就是“react組件傳值的方法有哪些”的內容了,經過本文的學習后,相信大家對react組件傳值的方法有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。