Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.1k views
in Technique[技术] by (71.8m points)

how can change react native elements attributes inside of loop

I want use loop for create 8 button, and use difference state for each button, for example buttonOver1 for button1 and buttonOver2 for button2.

because I need change backgroundColor when mouseEnter and mouseLeave

I used eval but doesn't work, but dosen't get syntax error

is there any other way to do that?

Thanks

function appendButtonDetailItems() {
let buttonItems = []
for (let i = 1; i<= 8; i++) {
    buttonItems.push(
        
        <TouchableOpacity     
            //I used eval but doesn't work, but dosen't get syntax error
            onMouseEnter={() => eval('TopNavbarClassThis.setState({listInnerItem'+i+'Over: true})')}
            onMouseLeave={() => TopNavbarClassThis.setState({buttonOver1 : false})}
            
            style={[
                styles.mh4,
                styles.justifyContentCenter,
                TopNavbarClassThis.state.buttonOver1 ? styles.zDepth1 :  styles.zDepth0,

            ]}
        >
            
            <Text style={[
                TopNavbarClassThis.state.buttonOver1 ? styles.textWhite :  styles.textBlack,
                ]}>Button {i}</Text> 
        </TouchableOpacity>)
}
return buttonItems;
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
等待大神解答

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...