I just took a contract with a company that reached out to me for development help. Had 2 people contact me and they seemed really eager to have me on. Can I charge for my time spent refreshing my skills in a framework or language, React or typescript for example? I've worked with the technologies in the past (not learning them from scratch) but it's been some time. Is 2-3 hours acceptable?
Depends what you agreed with them. Are they expecting to get billed for this? During the conversations you've had with them, did you say "Sure I can do X; I've loads of experience but haven't looked at that for a while. I'll need to spend 1/2 day upskilling"?
I suggest not, given that you're asking the question here. For the sake of a smooth business relationship and a happy client, I'd swallow the cost of it.
Successful contracting includes managing your clients' expectations and "nickle and diming" your client at the very first opportunity doesn't sound like a great start to a new business relationship.
If the entire project is 20+ hours, stirring up a fuss over 2-3 hours seems unnecessary.
Assuming you are billing by the hour and that you have been transparent about how recent your experience is, I would bill those hours.
The only exception would be if the client insists on having every hour billed micro-explained, like coding, coding tests, documentation, dev-ops, deployment and so on. Personally, I might bill such a client extra for the added bureaucracy.
If the project is fixed-price, you 100% decide how to go about things.