【发布时间】:2020-06-01 23:06:57
【问题描述】:
当我将类别列表发送到类别功能组件并记录“道具”数据发送两次时,我正在创建活动功能组件并调用名为类别的子功能组件,第一个为空,第二个数据如下
活动
function Activities() {
const [category, setCategory] = useState([]);
function handelChange({ target }) {
setCategory({
...category,
[target.name]: target.value,
});
}
useEffect(() => {
getCategories().then((_categories) => setCategory(_categories));
}, []);
return (<Categories category={category} onChange={handelChange} />)
}
和分类组件
function Categories(props) {
console.log(props);
return (<div></div>)
}
我正在尝试在 useEffect 中记录道具 但问题仍然存在
【问题讨论】:
-
您不能将
onChange事件附加到组件,它充当道具。 -
这是正确的行为。
Categories组件被渲染了 2 次(作为道具,category已更改),第一次在开始时使用[]渲染,第二次使用值。 -
@Deda 道具只是反应的道具。当您将其发送到
div时,它会对其进行预定义处理并以特定方式对其进行绑定。对于自定义组件,您只需将其级联并钻到您想要的位置即可。
标签: javascript reactjs react-native react-redux react-router