There are a TON of threads on this. It's a really common problem, I've worked with a few dogs with this issue and am now working on it with my current foster dog.
Once she starts barking and lunging, she's over her threshold. You want to reward and praise her when she does not react negatively to another dog, even if it's at 10 or 20 or 50 feet away from them. Once she begins to react, or hopefully before if you start to realize she is staring, stiff-bodied, etc. at them, you want to remove her as calmly and quickly from the situation as possible. You can teach a command (I use "other way") to get her to turn and follow you in the other direction. Start teaching this by rewarding her for turning towards you when you walk backwards with her on leash. Add in distractions, like tossing a bit of food in front of her, or a toy, or having someone she's interested in greeting stand in front of her, and click and reward when she turns and moves towards you in the opposite direction.
Some resources to check out are the books Control Unleashed and Click to Calm. You can also look up games such as "Look at that". Teaching a focus or "watch me" command can also be very helpful. There are some videos on my blog from a few different sources that have tips and training methods on this. You can also search for old threads here with tons of information.
It sounds like you're using the right approach. Whatever you do, don't yell at her or try to physically correct her when she reacts to another dog. If you do that, she'll view the other dog as more of a threat, because another dog = punishment, and she'll react worse or become more fearful or aggressive towards other dogs.