我试图从按钮类中的道具集中提取数字的值。然后在发现函数中呈现这个值。类正确显示了Number的值。但是,该函数不显示数字的任何值。
为了让它发挥作用,我已经花了一段时间来处理这个问题。但是我找不到任何解决我问题的办法。
class Button extends React.Component {
constructor(props) {
super(props);
this.state = {
Number: "55"
};
}
render() {
return (
<div>
<p>Number: {this.state.Number}</p> //The value of Number is displayed on the page
</div>
);
}
};
const discover = (props) => {
return (
<div>
<Button />
<p>Number: {props.Number}</p> //The value of Number is not displayed
</div>
);
};
export default discover;
没有错误消息。显示的预期结果:https://i.imgur.com/fr61SE0.png
实际显示结果:https://i.imgur.com/MRE0Lsj.png
我不确定您在哪里调用Discover组件,但是您需要将数字作为道具传递给Discover组件,以便使其进行渲染。
class Button extends React.Component {
constructor(props) {
super(props);
this.state = {
Number: "55"
};
}
render() {
return (
<div>
<p>Number: {this.state.Number}</p> //The value of Number is displayed on the page
<Discover Number={this.state.Number}/> // we are passing Number as a prop to the Discover component
</div>
);
}
};
const Discover = (props) => {
return (
<div>
<Button />
<p>Number: {props.Number}</p> //The value of Number is not displayed
</div>
);
};
export default Discover;
我还将利用您的自定义组件,如Discover。
为什么react中的组件需要资本化?
你的发现是一个功能组件,你没有传递任何东西给你的组件,在你的按钮组件中,你正在设置状态,这是你输出背后的原因。试试这个。
class Button extends React.Component {
constructor(props) {
super(props);
this.state = {
Number: "55"
};
}
render() {
return (
<div>
<p>Number: {this.state.Number}</p> //The value of Number is displayed on the page
<discover {...this.state} />
</div>
);
}
};
const discover = (props) => {
return (
<div>
<p>Number: {props.Number}</p> //The value of Number is not displayed
</div>
);
};
export default Button;
现在你会得到你的欲望输出
您希望保持discover和button彼此同步,但目前还没有任何东西可以做到这一点。button是具有本地状态的discover的子级。而不是让父对象拥有状态,然后它可以将该状态传递给按钮组件。
class Discover extends Component {
state = { number: 55 }
render() {
const { number } = this.state
return (
<div>
<Button number={number} />
<p>Number: {number}</p>
</div>
);
}
};
const Button = ({number) => {
return (
<div>
<p>Number: {number}</p>
</div>
);
}
};
export default Discover;
这里有个活生生的例子供你参考
问题内容: 我试图找到定义可以以一般方式使用的组件的正确方法: 当然,可以想象并在父组件和子组件之间进行渲染的逻辑。 对于这个问题,这是一个虚拟的实现: 问题是,每当您用于定义包装器组件时,如何将某些属性传递给其所有子组件? 问题答案: 用新道具克隆Children 您可以使用React.Children遍历子级,然后使用React.cloneElement使用新的道具(浅合并)克隆每个元素,例如
我是一个相当新的反应,这是一个我正在努力解决的问题。
问题内容: 我正在尝试找到定义可以以一般方式使用的某些组件的正确方法: 当然,您可以想象并作为该逻辑的示例,在父组件和子组件之间存在一种渲染逻辑。 对于这个问题,这是一个虚拟的实现: 问题是,每当您用于定义包装器组件时,如何将某些属性传递给其所有子组件? 问题答案: Cloning children with new props 您可以使用React.Children遍历子级,然后使用React.
我是新的TypeScript和我正在努力写HOC与typecheck。这是我的HOC: 它抛出一个错误: 类型(组件:反应。组件类型 我完全不知道如何继续使用这段代码,也不知道如何让它工作。 有什么想法吗?
我想在React中将数据从子组件发送到父组件。查找数据时,只有类类型,没有功能文档。您可以使用什么语法传递数据?
如果问题中使用的术语不正确,请与我一起,因为这是我第一次使用react JS。我通过参考大量的博客、youtube、文档等编写了一些代码,现在我被困住了,因为它是所有东西的混合体。 我需要对一个endpoint(关于.js组件)进行get调用,该endpoint返回json数据,这些数据将被传递给(workspace.js组件),在那里呈现和显示这些数据。到目前为止,它运行良好。 下一步,有一个链