javascript - ReactJS - 目标随机元素

标签 javascript reactjs

我在理解渲染后如何与 React 中的元素交互时遇到了一些问题。我目前有这个 fiddle :https://jsfiddle.net/y7dh3vh5/

var items = ["Afghanistan","Albania","Algeria","Andorra","Angola"....

var RepeatModule = React.createClass({
    getDefaultProps: function() {
       return { items: [] }
    },
    render: function() {
        var listItems = this.props.items.map(function(item, i) {
            return (
                <div className="item" key={i}>
                   <p>{item}</p>
                </div>
            );
        });

        return (
            <div>
               {listItems}
            </div>
        );
    }});ReactDOM.render(<RepeatModule items={items} />, document.getElementById('itemList'));

当我按下“突出显示随机国家”按钮时,我正在寻找一种突出显示随机国家的方法。有没有简单的方法来实现它?

提前致谢。

最佳答案

添加状态保存highlightedIndex:

getInitialState () {
    return {
        highlightedIndex: -1
    }
},

为按钮添加方法

setNewTarget: function() {
    var l = this.props.items.length - 1;
    this.setState({
        highlightedIndex: this.randomInteger(0, l)
    })
},

将按钮放入返回渲染

return (
    <div>
        <button onClick={this.setNewTarget}>
            Highlight random country
        </button>
        {listItems}
    </div>
);

实例: https://jsfiddle.net/ufmagg4o/

关于javascript - ReactJS - 目标随机元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36451176/

相关文章:

reactjs - react -Redux 错误 : Element type is invalid after connect

reactjs - 使用 redux observable 中间件存储默认状态

reactjs - 如何在天蓝色网站上的 react 应用程序中替换%PUBLIC_URL%

javascript - 我如何更改 eslint 解析设置

javascript - 一次调用 db 中的多个实例( Sequelize )

javascript - Webstorm 关闭匿名函数声明中的新空格

javascript - 将范围变量传递给 ng-click 中的函数

javascript - 如何判断 POST 请求是否包含要在 Sails.js 中上传的文件?

javascript - 在jquery文件上传插件的fileuploadsend事件中检索jqXHR?

javascript - 如果为空或数字,则 react 输入验证