Hi,
First, you need to create several manual shipping methods assigned to different states thanks to the "zone" restriction setting of each one. And you can set a price for each one. The system will filter among them automatically during the checkout.
If you need the shipping prices to be different for each product, you also want to activate the "shipping price per product" setting of each one. Then, in the products, you'll have a "shipping prices" area, where you'll be able to enter the shipping price for each shipping method for the product.