如何将存储在状态中的值传递到本机反应中的另一个屏幕
How to pass value stored in state to another screen in react native
所以我创建了一个像这样的状态:
const [inState, setInState] = useState([<View />]);
然后点击一些按钮,我正在更新 inState
const breakOutClick = () => {
setInState([
...inState,
<>
<StatusBoxComponent
ImageConfigIconCheckOut={true}
status={'Break-Out'}
time={time}
/>
</>,
]);
};
const breakInClick = () => {
setInState([
...inState,
<>
<StatusBoxComponent
ImageConfigIconCheckOut={true}
status={'Break-In'}
time={time}
/>
</>,
]);
};
我能够以这种方式在同一屏幕上显示 inState
中存储的所有内容:
<View>
{inState}
</View>
但我想将此 inState
传递到另一个屏幕并显示存储在 inState
中的所有内容。
为此,我尝试了以下方法:
props.navigation.navigate(ChartScreen, {
inState: inState,
});
然后在第二个屏幕上,即 ChartSCreen,我做了以下操作:
const ChartScreen = (props: any) => {
const {inState} = props.route.params;
return (
<View style={styles.screen}>
{inState}
</View>
);
};
但是第二次我收到错误 TypeError: cyclical structure in JSON object, js engine: hermes
。
我不知道我做错了什么,请帮忙
尝试以下方法来防止循环结构:
props.navigation.navigate(ChartScreen, {
inState: {…inState}
});
作为……的替代,你可以写:
props.navigation.navigate(ChartScreen, {
inState: Object.assign({}, inState)
});
所以我创建了一个像这样的状态:
const [inState, setInState] = useState([<View />]);
然后点击一些按钮,我正在更新 inState
const breakOutClick = () => {
setInState([
...inState,
<>
<StatusBoxComponent
ImageConfigIconCheckOut={true}
status={'Break-Out'}
time={time}
/>
</>,
]);
};
const breakInClick = () => {
setInState([
...inState,
<>
<StatusBoxComponent
ImageConfigIconCheckOut={true}
status={'Break-In'}
time={time}
/>
</>,
]);
};
我能够以这种方式在同一屏幕上显示 inState
中存储的所有内容:
<View>
{inState}
</View>
但我想将此 inState
传递到另一个屏幕并显示存储在 inState
中的所有内容。
为此,我尝试了以下方法:
props.navigation.navigate(ChartScreen, {
inState: inState,
});
然后在第二个屏幕上,即 ChartSCreen,我做了以下操作:
const ChartScreen = (props: any) => {
const {inState} = props.route.params;
return (
<View style={styles.screen}>
{inState}
</View>
);
};
但是第二次我收到错误 TypeError: cyclical structure in JSON object, js engine: hermes
。
我不知道我做错了什么,请帮忙
尝试以下方法来防止循环结构:
props.navigation.navigate(ChartScreen, {
inState: {…inState}
});
作为……的替代,你可以写:
props.navigation.navigate(ChartScreen, {
inState: Object.assign({}, inState)
});