我试图传递一个道具给一个子组件在反应,但它不显示在所有的道具,当我控制台日志。甚至关键的东西
也不显示。对此的任何帮助都将不胜感激。
export default class Child extends Component {
constructor(props) {
super(props);
console.log(props)
}
render() {
console.log(this.props)
return (
<div>
Test
</div>
);
}
}
class Parent extends Component {
constructor(props) {
super(props);
}
render() {
return (
<div>
<Router>
<div>
<Route path='/testing' things="yes" component={Child} />
</div>
</Router>
</div>
);
}
}
}
const connectedParent = connect()(Parent);
export { connectedParent as Parent };
在父组件中,将管线替换为以下内容:,
<Route
path='/testing'
render={(props) => <Child {...props} things="yes" />}
/>
让我知道它是否有效。
说明:当你使用
另一种方法是将道具传递给路由中的子组件:
<Route
path='/testing'
component={() => <Child things="yes" />}
/>
但是使用方法,你会失去路线道具,如位置、历史和其他道具,也根据文档:
使用组件道具时,路由器使用React.createElement从给定组件创建新的React元素。这意味着,如果为component属性提供内联函数,则每次渲染时都会创建一个新组件。这将导致现有组件卸载和新组件安装,而不仅仅是更新现有组件。
所以我们只剩下我建议的方法,即
<Route
path='/testing'
render={(props) => <Child {...props} things="yes" />}
/>
在这里,您将向子组件本身传递类似的道具,而不是路由,并且路由的渲染方法也提供路由道具。所以请始终记住将它作为{…props}传递,这样您就可以访问子组件中的路由道具,并且在路由时不会遇到任何问题。
我试图使用在child中的函数中生成的值。js并将其传递给父级。所以我可以使用这个值来过滤子数组。 小孩js 是生成的值,我需要在父级中访问该值。js Parent.js 我是不是错过了一些显而易见的东西?控制台。日志for返回子项的所有值。js节点,但当用作道具时返回未定义。 如何让函数运行,这样我就可以用返回的值过滤结果? 谢谢
我有一个模态,我想在其中放置一个动态嵌套视图。我认为这样做的一个好方法是像这样使用 我想把一些道具传给这些组件,就像我平时在React中一样 最终,我将移动到存储/获取状态中的这些属性,但是考虑到当前的实现,在定义开关
问题内容: 我需要使用路由器将道具传递到组件。这是我的代码: 如您所见,isAuthenticated我想传递给Login组件的道具。 当我登录道具时, isAuthenticated 道具不存在。我做错了什么?如何正确通过道具?我关注了文档以及其他讨论。据我了解,它应该可以工作。的版本 做出反应路由器 和 反应路由器- DOM 是 4.0.0 问题答案: 像这样传递它: 它应该在“登录组件”中可
也许有一种方法可以将组件绑定到事件? 在使用React一年多后,在Sebastien Lorber的回答的激励下,我得出结论,将子组件作为参数传递给父母中的函数实际上不是React的方式,也不是一个好主意。我换了答案。
我使用的是dev-express中的react-grid库,库中有一个表组件,我们可以向它传递单元格组件,在CustomCell中,我使用的是Material UI中的菜单 在上述情况下,菜单工作良好, 但是我想要传递道具到这个组件,我尝试了以下操作 在这种情况下菜单不工作,我想知道是否有一个替代的方法来实现第二种情况。
问题内容: 在组件中,我需要将函数的返回值传递给属性。然后从属性需要被传递到的组件。新来的反应。不确定如何将属性从子级传递到组件。 问题答案: 您可以将函数从父级传递给子级,子级可以使用颜色调用该函数(很多操作都类似于事件处理程序)。在App中收到颜色后,使用.setState()将其分配给状态值,然后将其在render()中获取