- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 3 个组件:
我希望在 Child2 上从 Child1 触发函数(让我们称她为“triggerCallback”)。triggerCallback 的实现必须在 Child2 上,因为它会改变 Child2 的变量(我不想由 Parent 的状态管理的变量!)。
import React, { Component } from "react";
const Child1 = props => {
return <button onClick={props.triggerCallback}>Click Me</button>;
};
class Child2 extends Component {
data = [];
shouldComponentUpdate() {
return false;
}
componentWillReceiveProps(receviedProps) {
// here I need to add a prop or a callback notification to fire 'triggerCallback', how?
}
triggerCallback = action => {
console.log("i triggerd from Child1!");
// here mutate data!
};
// componentDidMount() {} and some extra methods.....
render() {
return null;
}
}
const Parent = props => {
// how do i pass function implemnted on Child2 to be called from Child1?
return (
<div>
<Child1 />
<Child2 />
</div>
);
};
提前致谢!
最佳答案
您应该查看render props 。请注意,我无法尝试我的示例,因此请将其视为一种伪代码
import React, { Component } from "react";
const Child1 = props => {
return <button onClick={props.triggerCallback}>Click Me</button>;
};
class Child2 extends Component {
data = [];
shouldComponentUpdate() {
return false;
}
constructor(props) {
// Feed the function in the setter revieved as props
super(props);
props.getCallBack(this.triggerCallback);
}
triggerCallback = action => {
console.log("i triggerd from Child1!");
// here mutate data!
};
// componentDidMount() {} and some extra methods.....
render() {
return null;
}
}
const Parent = props => {
// Use a state that contains child2's function or an empty callback
const [func, setFunc] = React.useState(() => void(0));
// send setter as props to child2
return (
<div>
<Child1 triggerCallback={func} />
<Child2 getCallBack={(cb) => {setFunc(cb);}} />
</div>
);
关于javascript - react 是否有可能从另一个 child 身上激发一个 child 身上实现的功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60820938/
我最近想将 Cython 与 Spark 一起使用,为此我关注了 the following reference . 我写了下面提到的程序,但我得到了: TypeError: fib_mapper_c
我目前拥有它,因此当单击链接时我的标题会滑入。如何做到(当单击链接时)当前标题会在新标题滑入之前滑出? 这是我一直在使用的clicked事件。这可能很奇怪,我一直在添加不同的东西来尝试让它工作。 //
我正在编写一个使用 kubernetes 而不是 yarn 的 spark 作业。 val spark = SparkSession.builder().appName("Demo").master(
我已成功实现客户端/服务器 Android GCM 应用程序。我的应用服务器拥有一个 device/registration_id 对的数据库。消息通过 Web 可访问的 PHP 页面发送到设备。我正
我正在使用 iTunes Connect 中的新测试版功能。我将一个构建 (98) 上传到 iTunes Connect,设置了一些内部测试人员,他们下载了该构建。 现在我已经用新版本(build 9
我是一名优秀的程序员,十分优秀!