Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.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
Reactjs React JS:以编程方式使用React路由器发送道具_Reactjs_React Router_React Router V4_React Router Dom - Fatal编程技术网

Reactjs React JS:以编程方式使用React路由器发送道具

Reactjs React JS:以编程方式使用React路由器发送道具,reactjs,react-router,react-router-v4,react-router-dom,Reactjs,React Router,React Router V4,React Router Dom,这个问题试图解决的问题很简单: “我可以通过编程将道具从一个场景发送到另一个场景吗?如果可以,如何发送?” 下面我提供了一组示例代码,希望有人能够一劳永逸地解决这个问题 App.js文件: Preview.js 我将永远感激任何理解这个问题并能解释我的困境的人 非常感谢。我强烈建议使用,因为它使用一个减缩器来保存表单的状态。然后,在路由到所需组件后,您可以将该组件连接到表单状态,以获取所需的信息。 它是一个功能强大的工具,可以帮助您管理表单的状态,听起来就像您需要的一样。下面是一个使用路由器的示

这个问题试图解决的问题很简单:

“我可以通过编程将道具从一个场景发送到另一个场景吗?如果可以,如何发送?”

下面我提供了一组示例代码,希望有人能够一劳永逸地解决这个问题

App.js文件: Preview.js 我将永远感激任何理解这个问题并能解释我的困境的人

非常感谢。

我强烈建议使用,因为它使用一个减缩器来保存表单的状态。然后,在路由到所需组件后,您可以将该组件连接到表单状态,以获取所需的信息。
它是一个功能强大的工具,可以帮助您管理表单的状态,听起来就像您需要的一样。

下面是一个使用路由器的
示例。它是一个高阶函数,返回连接路由器的子组件,以便您可以通过编程方式切换路由

移动到答案,发送一个对象而不仅仅是一个字符串。您可以通过在名为state的对象中附加一个属性来指定要作为状态发送的数据,该属性将由要发送的数据组成

从“React”导入React;
从“react router dom”导入{withRouter};
类测试扩展了React.Component{
_handleClick=()=>{
这个。道具。历史。推({
路径名:'/花名册',
声明:{
“你好”:“世界”,
}
});
}
render(){
返回(
以编程方式转到花名册
)
}
}

使用路由器导出默认值(测试)抱歉@gilad我在发布这篇文章时做了一些编辑,试图让它更清晰,我已经更新了代码,使其更能反映实际问题。这里的问题是,当我更改场景时,我不能随历史一起发送道具,我原以为这是一件容易的事情,但似乎找不到一种方法来正确地做任何我编辑的答案,希望它有帮助。我不熟悉Redux,所以我试图避免在这个项目中使用它。我开始认为,如果不使用redux,这是不可能做到的:'(无论如何,谢谢Gilad不确定这如何适用于手头的问题,这会进入我的Jobs.js文件吗?我将如何从preview.js文件访问道具?@JDorrian啊,我的代码沙盒没有保存,粘贴了错误的版本。请参见上面的示例。在roaster中,您将能够访问
props.location.state
,您将发现
{你好:'world'}
。非常感谢你,我已经尝试了几个小时,你让我很开心!@JDorrian没问题!很抱歉造成混乱:)
const Main = () => (
    <main>
        <Switch>
            <Route exact path='/Job' component={Job}/>
            <Route path='/Preview' component={Preview}/>
        </Switch>
    </main>
 handleClick(){
    //The state I wish to pass: this.state.propToPass
    //my current implementation for moving to the correct scene:
    this.props.history.push('/Preview')

}
constructor(props){
    super(props)
    //console.log(the prop that has been sent)
}