Wow, okay, posting this helped me assess where my problems could be. I ended up investigating my root component a bit more, DropdownWithFilter, and it turns out it already has an onRenderOption that's overriding anything I try to do in my implementations of it. To fix this, I'm creating a copy component of DropdownWithFilter, called DropdownWithFilterColumns, with the exact same logic as DropdownWithFilter except that it returns text exactly the way I want it. Thanks for letting me think out loud!