函数组件传参
import React, { useState } from 'react';
const Home = props =>{
const [state, handleState] = useState(null)
const changeState = (value) => {
handleState(value)
}
// 通过React.cloneElement,将数据或方法以对象形式传递
React.Children.map(props.children, child => {
return React.cloneElement(child, {
state: state,
changeState: changeState,
});
})
}
export default Home
如果使用的是状态组件,传递方法的时候需要绑定this。
React.Children.map(this.props.children, child => {
return React.cloneElement(child, {
changeState: this.changeState.bind(this),
});
})
子路由通过props接受传递的参数。