Reactjs 将本机传递状态反应到另一个组件
我在通过州议会时遇到了一些麻烦 我想从EventsApi获取传递给Event的状态 这是我的父组件:Reactjs 将本机传递状态反应到另一个组件,reactjs,react-native,Reactjs,React Native,我在通过州议会时遇到了一些麻烦 我想从EventsApi获取传递给Event的状态 这是我的父组件: export default class EventsApi extends React.Component { constructor(props) { super(props); this.state = { jsondata: ["TEST1"], }; } render() { return ( <View> <Event data
export default class EventsApi extends React.Component {
constructor(props) {
super(props);
this.state = {
jsondata: ["TEST1"],
};
}
render() {
return (
<View>
<Event data={this.state.jsondata} />
</View>
);
}
}
export default class Event extends React.PureComponent {
render() {
return (
<View>
<FlatList
data={this.props.jsondata}
renderItem={({ item }) => (
<NormalText>
{item}
</NormalText>
)}
/>
</View>
);
}
}
这是我的子组件:
export default class EventsApi extends React.Component {
constructor(props) {
super(props);
this.state = {
jsondata: ["TEST1"],
};
}
render() {
return (
<View>
<Event data={this.state.jsondata} />
</View>
);
}
}
export default class Event extends React.PureComponent {
render() {
return (
<View>
<FlatList
data={this.props.jsondata}
renderItem={({ item }) => (
<NormalText>
{item}
</NormalText>
)}
/>
</View>
);
}
}
在事件中用数据替换jsondata,如下所示。因为您正在以props中的数据形式传递您的状态
<FlatList
data={this.props.data}
renderItem={({ item }) => (
<NormalText>
{item}
</NormalText>
)}
/>
在事件中用数据替换jsondata,如下所示。因为您正在以props中的数据形式传递您的状态
<FlatList
data={this.props.data}
renderItem={({ item }) => (
<NormalText>
{item}
</NormalText>
)}
/>
您所做的错误是您正在App.js中传递事件。它应该是EventsApi: 改变
<View>
<Event></Event>
</View>
到
对expo进行了一些更改,请检查以下内容:
希望这有帮助 你做错了的事情是你在App.js中传递事件。它应该是EventsApi: 改变
<View>
<Event></Event>
</View>
到
对expo进行了一些更改,请检查以下内容:
希望这有帮助 问题到底在哪里?问题是事件中的{item}为空。我对视图类中的事件进行调用,简单如下:。因此,它从EventsApi->Events(如图所示)转到ViewClass。问题到底在哪里?问题是事件中的{item}为空。我对视图类中的事件进行调用,简单如下:。所以它从EventsApi->Events(如图所示)转到ViewClass。它仍然不起作用。我就是不明白为什么它不起作用。到目前为止尝试了很多东西。我忘了提到的是,我在这样的视图类中调用事件,这会导致任何问题吗?比如它丢失了状态还是什么?有必要包装视图类吗?在这种情况下是的。因为EventsApi是我的fetch-只是尝试简化问题,然后我设置事件组件的样式,最终在视图类中呈现,并使用一系列其他内容。问题可能出现在NormalText组件中吗?@M4RXX您可以共享您的控制台吗?请共享事件中的logthis.props或共享代码沙盒url。它仍然不起作用。我就是不明白为什么它不起作用。到目前为止尝试了很多东西。我忘了提到的是,我在这样的视图类中调用事件,这会导致任何问题吗?比如它丢失了状态还是什么?有必要包装视图类吗?在这种情况下是的。因为EventsApi是我的fetch-只是尝试简化问题,然后我设置事件组件的样式,最终在视图类中呈现,并使用其他一些东西。问题可能在NormalText组件中吗?@M4RXX您可以共享您的控制台吗?请共享事件中的logthis.props或共享代码沙盒url。非常感谢!我没有得到的是,它是如何从父母->孩子->视图中消失的。非常感谢!我没有得到的是,它如何不从父->子->视图。