Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将值从一个组件传递到另一个组件_Javascript_Reactjs - Fatal编程技术网

Javascript 将值从一个组件传递到另一个组件

Javascript 将值从一个组件传递到另一个组件,javascript,reactjs,Javascript,Reactjs,我将地址存储在变量中,并通过以下方式将其发送到另一个组件: this.setState({ place\u formatted:place.formatted\u地址, 地点识别码:地点。地点识别码, place_位置:location.toString(), }); var addr=place.formatted\u地址; 控制台日志(addr); 更改测试={this.props.addr}->addr={addr} this.setState({ place\u formatted:

我将地址存储在变量中,并通过以下方式将其发送到另一个组件:

this.setState({
place\u formatted:place.formatted\u地址,
地点识别码:地点。地点识别码,
place_位置:location.toString(),
});
var addr=place.formatted\u地址;
控制台日志(addr);

更改测试={this.props.addr}->addr={addr}

this.setState({
place\u formatted:place.formatted\u地址,
地点识别码:地点。地点识别码,
place_位置:location.toString(),
});
var addr=place.formatted\u地址;
控制台日志(addr);

更改测试={this.props.addr}->addr={addr}

this.setState({
place\u formatted:place.formatted\u地址,
地点识别码:地点。地点识别码,
place_位置:location.toString(),
});
var addr=place.formatted\u地址;
控制台日志(addr);

在选项卡组件中,道具作为
测试通过,因此请尝试

class Tab extends React.Component {
render() {
console.log(this.props.test);

在选项卡组件中,道具作为
测试通过,因此请尝试

class Tab extends React.Component {
render() {
console.log(this.props.test);

您需要将
组件移动到
窗体
组件的
呈现()方法
并从状态传递
放置格式化的

如果
place\u formatted
不为空,则可以添加附加检查

代码如下:

Form.jsx

class Form extends React.Component {
    ...all the code

    render() {
      const { place_formatted } = this.state
      return (
          ...
          { place_formatted && 
             <Tab test={place_formatted} />
          }
          ...
      )
    } 
}
类表单扩展了React.Component{
…所有代码
render(){
const{place_formatted}=this.state
返回(
...
{place_&&
}
...
)
} 
}
在这种情况下,您将能够在
选项卡
组件中获取此值,作为
this.props.test
您需要将
组件移动到
表单
组件的
呈现()方法,并从状态传递
放置格式化的

如果
place\u formatted
不为空,则可以添加附加检查

代码如下:

Form.jsx

class Form extends React.Component {
    ...all the code

    render() {
      const { place_formatted } = this.state
      return (
          ...
          { place_formatted && 
             <Tab test={place_formatted} />
          }
          ...
      )
    } 
}
类表单扩展了React.Component{
…所有代码
render(){
const{place_formatted}=this.state
返回(
...
{place_&&
}
...
)
} 
}


在这种情况下,您将能够在
选项卡
组件中获得该值,即
this.props.test

这只是一个输入错误。在第一个代码示例中,您已将addr发送到
Table
组件,而在第二个代码示例中,您尝试在
Tab
组件中访问addr。@omri_saadon Hi我的页面名为Table.js,在该类中为Tab,我也尝试了访问,但它仍然未定义,请在这里添加导出
选项卡的代码
和导入
表格的代码
请添加完整组件的代码,以了解实际发生的情况。@DenysKotsur Hi,我在上面的帖子中添加了全部代码。这只是一个打字错误。在第一个代码示例中,您已将addr发送到
Table
组件,而在第二个代码示例中,您尝试在
Tab
组件中访问addr。@omri_saadon Hi我的页面名为Table.js,在该类中为Tab,我也尝试了访问,但它仍然未定义,请在这里添加导出
选项卡的代码
和导入
表的代码
请添加完整组件的代码,以了解实际发生的情况。@DenysKotsur Hi,我已在上面的帖子中添加了全部代码。在第一个控制台语句中,它的未定义是否仍然有价值?是的,但在第二个控制台语句中(Tabs console.log)它是未定义的till unfinednope仍然是它的unfinedin第一个控制台语句你得到值了吗?是的,但在第二个控制台语句中(Tabs console.log)它是undefinedStill undefinedStill它是undefined的,我想提一下Tab组件在另一个Table.js文件中,它会影响情况吗?让我们试试这个。你应该在console.logif中看到TEST_字符串,而不是-your
this.props.addr
在UndefinedNo它仍然是未定义的,在这里标记关于TEST_字符串的部分,你可以找到方法若要将道具传递给子组件,它仍然是未定义的,我想指出Tab组件在另一个Table.js文件中,它会影响情况吗?让我们试试这个。您应该在console.logif中看到TEST_STRING,而不是-your
this.props.addr
在Undefinedno中,它仍然是未定义的,在这里标记TEST_STRING部分,您可以了解如何操作为了将道具传递给子组件Hi,我尝试了您的解决方案,它成功了,但问题是我已经有了来自另一个.js文件的语法为:的items数组,现在当我使用您的代码时,它显示了一个错误:TypeError:无法读取未定义的属性“sort”。我已经编辑了我的post aboe以添加整个组件。@AnandTrivedi在对其进行
.map()
之前,您可以检查
是否为
未定义的
{items&&items.map(item=>{…}}
@AnandTrivedi如果你想从一个组件中部分传递
项目
,从另一个组件中传递
测试
,这是不可能的。你必须对这两个组件都使用共享状态,然后向下传递或使用它们。另外,我建议你阅读文档。嗨,我尝试了你的解决方案,但问题是我已经有了项目数组从另一个语法为:的.js文件中,现在当我使用你的代码时,它显示了一个错误:TypeError:无法读取未定义的属性“sort”。我已经编辑了我的post aboe以添加整个组件。@AnandTrivedi在对它进行
.map()
之前,你可以检查
是否未定义。
{items&&items.map(item=>{…})}
@AnandTrivedi如果您想从一个组件传递部分
items
,从另一个组件传递部分
test
,这是不可能的。您必须对这两个组件都使用共享状态并向下传递或使用它们。此外,我建议您从文档中阅读。