【问题标题】:calling a class from a method从方法调用类
【发布时间】:2023-03-04 23:56:01
【问题描述】:

我正在学习反应,我正在尝试从方法中调用一个类。到目前为止,这是我想出的

class Pop extends React.Component{
  render(){
    return (
      <div>
        <button onClick={() => { this.desit("data")} }>Componant Caller</button>
      </div>
    )
  }  
  desit(data){
    <Test info={data}/> 
  }  
}

class Test extends React.Component{
  render(){
    return 
    <div>{alert(this.props.info)}</div>
  }
}

ReactDOM.render(<Pop />,document.getElementById("targ"));

请帮忙?

【问题讨论】:

  • 你想让&lt;Test /&gt;在哪里渲染?您可以在Popthis.state 中存储一些内容,在onClick 中更改该值,然后在render 中检查this.state
  • 您到底想完成什么?您是否尝试在文档中呈现&lt;Test /&gt;?您是否尝试从另一个组件调用一个组件中的函数?
  • @ross 你是说我可以从“Test”访问“Pop”的“this.state”吗?
  • 尝试从您的 desit 函数中返回一个值。
  • “基本上我想做的就是将数据从 Pop 传递给 Test” 你做得对。但同样,将&lt;Test ... /&gt; 放置在那里不会有任何明显的效果。 您希望&lt;Test /&gt; 出现在您的 UI 中的什么位置? 如果您的问题只是关于调用方法,那么您所拥有的就是正确的,对我们来说没有任何意义去做。

标签: javascript reactjs react-native


【解决方案1】:

您希望在单独的类中拥有一个方法并从组件中触发它?

不要使用其他组件,但您可以使用一些逻辑创建一个常规类:

class Test
{
  test() {
    alert('success!');
  }
}

在 desit 方法中,您现在可以调用 Test.test(),如下所示:

desit() {
  var amazingTest = new Test();
  amazingTest.test();
}

您也可以使用静态方法:

class Test
{
  static test() {
    alert('success!');
  }
}

// and the desit method:
desit() {
  Test.test();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-11-09
    • 2011-10-24
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-19
    相关资源
    最近更新 更多