动态响应本机添加屏幕

时间:2020-04-01 02:24:58

标签: javascript reactjs react-native react-navigation

我想从可变数组动态添加屏幕。

这有效: enter image description here

但这不起作用: enter image description here 它说:错误:找不到导航器的任何屏幕。您是否将任何屏幕定义为其子屏幕?

如何固定第二个使其更具“动态性”?

2 个答案:

答案 0 :(得分:0)

您可以将components更改为对象列表。

然后通过键和值在项目内循环。

const components = [
 {
   name: "Home",
   element: HomeScreen
 },
 {
   name: "Details",
   element: DetailsScreen
 }
];

const renderScreen = () => {
  let result = null;

  if (components) {
    result = components.map((item, i) => {
       return <Stack.Screen name={item.name} element={item.element} />
    });
  }

  return result;
}

return(
  {renderScreen()}
)

答案 1 :(得分:0)

element => { <Stack... /> }更改为element => { return <Stack... /> }element => ( <Stack... /> )