1) Этот код морально устарел
2) дважды выполняемое newsKey() не выполняется поочереди!
3) setState передает в колбэк (state) не для того чтобы в функции использовать this.state
4) Название массива и название значения в элементе массива имеют одинаковое название, сам еще не путался в них?
const TrendingTittleAnimated = ({news}) => {
const [counter, setCounter] = useState(0);
useEffect(() => {
const interval = setInterval(() => {
setCounter(t => t === news.length - 1 ? 0 : t + 1 );
}, 1000);
return () => clearInterval(interval);
}, []);
return (
<div className="trending-animated">
<ul id="js-news" className="js-hidden">
<li className="news-item">{news[counter].newsText}</li>
</ul>
</div>
)
};