Many of you might think that this question has already been answered but I don't think that there is a clear answer on the internet for the current Ethereum, Web3.js and React Native versions (for 2018). In the blockchain space, answers that are 6 months old are obsolete.
I recently created a bunch of Ethereum smart contracts on a custom PoA private network and everything is working great on the browser using MetaMask and Truffle.
Now, the next step is to create a mobile application with React Native to interact with the smart contracts, handle public/private keys, etc (What MetaMask does for the browser).
So my question is: What is the best way to create an Ethereum dApp with React Native with the purpose of only creating and storing cryptographic material, creating and signing transactions? I don't want to create a light client but use the application with platforms like Infura (I know that it is not really decentralized but this is temporary before a light-client is available for Ethereum).
Has anyone already done that with web3.js v.1.0? What are the difficulties? Is web3.js enough? Can it be used with React Native?