According to fivethirtyeight Trump’s biggest gap in approval/disapproval (-20 points) happened when GOP was trying to repeal Obamacare and when they were passing tax cut bill (July and Dec of 2017). His most narrow gap (under minus 10 points) happened during the whole immigration debacle. (I’m pretty sure it was a brainchild of a couple of guys named Steve). You see a pattern here? Immigration in the news plays into their hands; Healthcare and tax cuts going to 1% is what can bring people to the polls.
Add the issue of corruption to the mix, as it has been gaining traction with voters, and you have a winning formula.