{"action":"created","issue":{"url":"https://api.github.com/repos/JedWatson/react-select/issues/328","labels_url":"https://api.github.com/repos/JedWatson/react-select/issues/328/labels{/name}","comments_url":"https://api.github.com/repos/JedWatson/react-select/issues/328/comments","events_url":"https://api.github.com/repos/JedWatson/react-select/issues/328/events","html_url":"https://github.com/JedWatson/react-select/pull/328","id":96565089,"number":328,"title":"Extract option, value and single value to components and allow getting customized ones","user":{"login":"jniechcial","id":6025462,"avatar_url":"https://avatars.githubusercontent.com/u/6025462?v=3","gravatar_id":"","url":"https://api.github.com/users/jniechcial","html_url":"https://github.com/jniechcial","followers_url":"https://api.github.com/users/jniechcial/followers","following_url":"https://api.github.com/users/jniechcial/following{/other_user}","gists_url":"https://api.github.com/users/jniechcial/gists{/gist_id}","starred_url":"https://api.github.com/users/jniechcial/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jniechcial/subscriptions","organizations_url":"https://api.github.com/users/jniechcial/orgs","repos_url":"https://api.github.com/users/jniechcial/repos","events_url":"https://api.github.com/users/jniechcial/events{/privacy}","received_events_url":"https://api.github.com/users/jniechcial/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-07-22T13:14:37Z","updated_at":"2015-07-27T12:08:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/JedWatson/react-select/pulls/328","html_url":"https://github.com/JedWatson/react-select/pull/328","diff_url":"https://github.com/JedWatson/react-select/pull/328.diff","patch_url":"https://github.com/JedWatson/react-select/pull/328.patch"},"body":"I recently bumped into case where we needed to make some customization of options and values render. I checked the options that are provided (similar to select2 formatResult) and somehow probably would deal with it this way.\r\n\r\nHowever, I am pretty sure that better solution would be to wrap all these parts that often demands customization (like option/value renders) into components that can be provided via props by the user. Of course, they would need to handle proper API that should be documented.\r\n\r\nThis way, eventually react-select would become free of tens of customization props (classes, formaters, etc.). All of this could be handled directly by the user providing customized components based on default ones and handle basically every edge customization case.\r\n\r\nWhat do you think? I prepared a fork that meets my requirements and is ready to merge, despite the lack of additional documentation that I can add. There is also an additional example showing how it can be useful with integrating 3rd-party components (in this example its [react-gravatar](https://github.com/KyleAMathews/react-gravatar).\r\n\r\nI would love to hear your opinion."},"comment":{"url":"https://api.github.com/repos/JedWatson/react-select/issues/comments/125182390","html_url":"https://github.com/JedWatson/react-select/pull/328#issuecomment-125182390","issue_url":"https://api.github.com/repos/JedWatson/react-select/issues/328","id":125182390,"user":{"login":"lubieniebieski","id":134795,"avatar_url":"https://avatars.githubusercontent.com/u/134795?v=3","gravatar_id":"","url":"https://api.github.com/users/lubieniebieski","html_url":"https://github.com/lubieniebieski","followers_url":"https://api.github.com/users/lubieniebieski/followers","following_url":"https://api.github.com/users/lubieniebieski/following{/other_user}","gists_url":"https://api.github.com/users/lubieniebieski/gists{/gist_id}","starred_url":"https://api.github.com/users/lubieniebieski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lubieniebieski/subscriptions","organizations_url":"https://api.github.com/users/lubieniebieski/orgs","repos_url":"https://api.github.com/users/lubieniebieski/repos","events_url":"https://api.github.com/users/lubieniebieski/events{/privacy}","received_events_url":"https://api.github.com/users/lubieniebieski/received_events","type":"User","site_admin":false},"created_at":"2015-07-27T12:08:22Z","updated_at":"2015-07-27T12:08:22Z","body":":+1: "}}