在视图中渲染多个按钮以编程方式进行本机react

IT技术 javascript reactjs react-native
2021-05-23 10:41:53

想要根据 json { "ActionType" : [{ "Field" : "Button", "FieldText" : "No", "FieldAction" : "this.getCellNumber('no')", "style": "" },{ "Field" : "Button", "FieldText" : "No", "FieldAction" : "this.getCellNumber('yes')", "style":"" }] }

如何在渲染函数中循环它以获取视图中的按钮数量

render(){
  return(

        <View style={this.styles.ButtonValContainer}>

        </View>
);

}
2个回答

在 React 中,您可以轻松收集一组用于渲染的元素。

const buttons = [
    {
      text: 'button one',
      action: () => console.log('pressed button one'),
    }, 
    {
      text: 'button two',
      action: () => console.log('pressed button two')            
    }
];

....

// react class definition

// ...
// assuming `Button` is a defined class in scope.

render() {
  const renderedButtons =  buttons.map(b => {
    return <Button key={b.text} text={b.text} onPress={b.action} />;
  });

  return (
    <View>
     {renderedButtons}
    </View>
  )
}

希望那些对你有帮助。

您可以遍历列表并在回调中返回一个组件。唯一的要求是返回的组件有一个key属性,在重新渲染时由 React 内部使用(以便它知道要删除/移动/更新什么等)

render() {
  return(
    <Wrapper>
      {items.forEach(function(item) {
        return (
          <View style={this.styles.ButtonValContainer} key={'UNIQUE_KEY_HERE'}>
            ...
          </View>
        );
      })}
    </Wrapper>
  );
}

这里有更多信息:https : //facebook.github.io/react/docs/multiple-components.html