Обработать кнопку

Здравствуйте, я только начал изучать реакт пока не могу понять как правильно сделать. У меня есть несколько картинок-кнопок в ряд, кнопка по нажатию на которую у меня появляется окно, в котором по кругу вертятся страницы внизу с комментариями, и если я например просмотрел все страницы и хочу перейти на следующую кнопку то кнопка должна становиться зеленой. Я не могу понять каким образом мне это можно реализовать.Подскажите как это можно сделать?

У тебя есть централизованное решение для управления состоянием? Типа redux, mobx, flux итд?

Честно говоря это большое проект я пока только начал разбираться, вроде как есть

Тебе нужно придумать как смоделировать состояние в виде структур данных. Потом описать состояние rexus/flux, и привязать измнение состояние к UI.

Например.
Модель состояния

{
    allCommentsViewed: false
}

Потом есть компонент который отвечает за то чтобы установить состояние о просмотренности всех комментариев отражалось в централизованном состояние. Нужно учесть всякие граничные случаи (изменение размера экрана, наличие 0 или 1 комментария итд), поэтому одного обработчика onScroll не будет достаточно.

function CommentsList() {
	store.setAllCommentsViewed(false) // сбрасываем состояние просмотренности комментариев при начальном рендере
	return <ul onScroll((event) => {
		if (wasLastCommentViewed(event)) {
			store.setAllCommentsViewed(true)
		}
	})>
		<li>...</li>
	</ul>
}

И компонент кнопки которая будет становиться зеленой (с помощью класса) только при наличии флага в централизованном состоянии:

function Button() {
	return <button className={store.allCommentsViewed ? 'green' : ''}>
		click next
	</button>
}

Спасибо, пока если честно не до конца понятно все но буду пробовать)

Поищи где в проекте встречаются элементы/подходы подобные тем что я описал. В большом проекте подобные вещи должны встречаться.

Сейчас просто все переходит на реакт и пока этого нету, так что я уже искал не нашел